簡體   English   中英

Extjs 3.4在GateIn 3.6中無法完全正常工作-關閉編譯器壓縮問題

[英]Extjs 3.4 not fully working in GateIn 3.6 - Closure compiler compression issue

我正在使用帶有GateIn 3.6的ext-js 3.4版(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-resources.xml文件中指定的。 在生產模式下,我認為默認情況下GateIn使用閉包編譯器壓縮gatein-resources.xml中的文件。

如果不壓縮ext-js腳本是一種選擇,那么您可以:
-使用doHeaders方法而不是使用gatein-resources.xml添加腳本: 從doHeaders()中刪除重復的標題條目
-繼續使用gatein-resources.xml導入您的javascript,並通過在gatein / conf / controller.xml中添加路由(未獲得compress參數的路由)使壓縮異常:

<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參數的模式以適應您的需求。 使用這些解決方案之一,將縮小所有腳本,但您在模式中定義的腳本除外。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM