2015-04-02 76 views
0

在ExtJs 4.2中,我總是在開發環境中使用ext-debug.js。與ext-all-debug.js相比,優勢在於每個類都作爲單獨的文件加載,因此開發人員工具中的回溯更加清晰。如何在ExtJs 5.0中使用ext-debug.js?

我做了升級,從4.2 ExtJS的5.1,我的app.json樣子:

/** 
* Comma-separated string with the paths of directories or files to search. Any classes 
* declared in these locations will be available in your class "requires" or in calls 
* to "Ext.require". The "app.dir" variable below is expanded to the path where the 
* application resides (the same folder in which this file is located). 
*/ 
"classpath": "${app.dir}/app", 
/** 
* The Sencha Framework for this application: "ext" or "touch". 
*/ 
"framework": "ext", 
"js": [ 
    { 
     "path": "${framework.dir}/build/ext-all-rtl-debug.js" 
    }, 
    { 
     "path": "app.js", 
     "bundle": true 
    } 
], 

當我改變行

"path": "${framework.dir}/build/ext-debug.js" 
  • 煎茶建立與此failes錯誤

    [INF] Capturing theme image 
    [ERR] loading page W%3A/mbgest25dev/sass/example/theme.html 
    registering ready listener... 
    [E] [Ext.Loader] Some requested files failed to load. 
    ... dozens of times the same error 
    
  • ext-debug.js被加載,但所有的類都裝載了錯誤的URL(並獲得404錯誤) GET http://example.com/packages/sencha-core/src/class/Mixin.js?_dc=1427986581354代替GET http://example.com/app-directory/ext/packages/sencha-core/src/class/Mixin.js?_dc=1427986581354

當然,在sencha app build的誤差比在瀏覽器中一樣。

必須有一個缺失配置,告知ext-debug.js在哪裏查找框架,而ext-all-rtl-debug.js不需要知道。

如何配置ExtJs 5.0以使ext-debug.js能夠從更清晰和更相關的堆棧跟蹤中受益?

編輯:

添加路徑EXT框架類的classpath"classpath": "${app.dir}/app,${app.dir}/ext",沒有幫助。 sencha cmd給出了一些警告,最終無法構建應用程序。

回答

0

這種配置可以在三個地方進行處理,通常是按以下順序:

  • .sencha/sencha.cfg
  • app.json
  • app.js(或的application.js)

如果您是從Ext JS 4進行升級,那麼很有可能在sencha.cfg中。尋找app.frameworkapp.classpath

接下來檢查app.json,並查找可能覆蓋此設置的相同設置。如果一切都失敗了,請嘗試使用路徑屬性(對象映射命名空間到目錄結構),將它們設置爲針對app.js中的Ext.application,以強制路徑。

+1

包含在應用程序中的文檔。json說**框架**應該是'ext'或'sencha'。另一方面**類路徑**告訴加載器應該在哪裏查找應用程序的類。在我的情況下,它是''classpath「:」$ {app.dir}/app「'。添加'$ {framework.dir}'或'$ {app.dir}/ext'對我來說沒有意義,是不是?我會試一試,但我很懷疑。 – 2015-04-06 12:21:00

+0

我嘗試了你的建議,但是我無法讓它工作。請參閱編輯。也許你可以提供一些更具體的建議? – 2015-04-06 13:12:05

+0

刷新/編譯應用程序後,您能向我們展示bootstrap.json的輸出嗎?在你的基礎軟件包目錄沒有正確設置的地方,很難說沒有看到你的一些配置文件。 – OhmzTech 2015-04-06 15:28:59

2

如果您刪除這些行

{ 
     "path": "${framework.dir}/build/ext-all-rtl-debug.js" 
} 

在app.json你會實現你想要什麼(分機將加載所需的類什麼是寫在你的bootstrap.json文件)。

+0

非常感謝。這阻止了我升級我的應用程序到ExtJs 5,同時ExtJs6.0出來了。我現在無法檢查你的答案是否正確,但當然這允許我在某些時候嘗試升級到Ext 6.0。 – 2016-01-14 10:17:09