首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Extjs3.4在GateIn 3.6中不能完全工作-闭包编译器压缩问题

Extjs3.4在GateIn 3.6中不能完全工作-闭包编译器压缩问题
EN

Stack Overflow用户
提问于 2013-11-30 07:05:34
回答 1查看 201关注 0票数 0

我使用的是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中压缩文件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-01 13:52:12

如果您可以选择不压缩ext-js脚本,则可以:

  • 使用doHeaders方法添加脚本,而不是使用gatein-resources.xml es.xml:从doHeaders()删除重复的标头条目
  • 继续使用gatein-resources.xml es.xml导入您的javascripts,并通过在gatein/conf/controller.xml er.xml中添加一个路由(一个没有获得压缩param的路由),为压缩设置一个例外:
代码语言:javascript
复制
<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的模式以满足您的需要。使用这些解决方案之一,除了您在模式中定义的脚本之外,所有脚本都将被缩小。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20297601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档