我使用的是Ext-jsVersion3.4和GateIn 3.6 (jboss 7)。在GateIn上,当GateIn处于生产模式时,某些ext组件不能很好地工作(特别是树)。我认为这个问题是由于javascript压缩机制造成的。我在GateIn 3.2中得到了同样的问题,然后我发现在GateIn 3.6中,它们改变了java压缩机制(在这个GateIn中,他们使用的是闭包编译器),但仍然存在相同的问题。下面以我的问题为例
我创建了两个包含相同树加载代码的示例。
示例1 :-这里没有压缩与ext js相关的文件。
示例2 :-这里的ext js文件是使用闭包编译器压缩的
(您可以通过将其部署到wamp、xamp、jboss等服务器上运行上述两个示例.等)
在示例1中,可以扩展树。但是在第二种情况下(示例2),树只扩展了第一级。有没有办法解决这个问题。
在生产模式下,如果没有压缩,我就不能直接指定ext js库。因为在GateIn中,java脚本是在gatein-Resoures.xml文件中指定的。在生产模式中,我认为在默认情况下,GateIn使用闭包编译器在gatein-Resoures.xml中压缩文件。
发布于 2013-12-01 13:52:12
如果您可以选择不压缩ext-js脚本,则可以:
<route path="/scripts/{gtn:version}/{gtn:scope}/">
<route-param qname="gtn:handler">
<value>script</value>
</route-param>
<path-param qname="gtn:version" encoding="preserve-path">
<pattern>[^/]*</pattern>
</path-param>
<route path="/{gtn:resource}{gtn:lang}-min.js">
<path-param qname="gtn:resource">
<pattern>(ext-core-debug)</pattern>
</path-param>
<path-param qname="gtn:lang" capture-group="true">
<pattern>-([A-Za-z]{2}(-[A-Za-z]{2})?)|</pattern>
</path-param>
</route>
</route>
<route path="/scripts/{gtn:version}/{gtn:scope}/">
<route-param qname="gtn:handler">
<value>script</value>
</route-param>
<path-param qname="gtn:version" encoding="preserve-path">
<pattern>[^/]*</pattern>
</path-param>
<route path="/{gtn:resource}{gtn:lang}{gtn:compress}.js">
<path-param qname="gtn:resource">
<pattern>.+?</pattern>
</path-param>
<path-param qname="gtn:lang" capture-group="true">
<pattern>-([A-Za-z]{2}(-[A-Za-z]{2})?)|</pattern>
</path-param>
<path-param qname="gtn:compress" capture-group="true">
<pattern>-(min)|</pattern>
</path-param>
</route>
</route>调整gtn:resource的模式以满足您的需要。使用这些解决方案之一,除了您在模式中定义的脚本之外,所有脚本都将被缩小。
https://stackoverflow.com/questions/20297601
复制相似问题