2014-01-16 22 views
0

我們使用Extjs 4.2開發了一個應用程序,遵循MVC模式。我們有項目文件夾設置爲follwing:Exts4.2使用JSBuilder2和Maven的MVC應用程序縮減

WebContent 
--> app 
-->controller 
-->model 
-->store 
-->view 
app.html 
app.js 

在app.js我們Ext.application下定義的所有模型,控制器,專賣店。像:

Ext.application({ 
name: 'MyProject', 
autoCreateViewport: true, 
models: [ 
'Model1',  
'Model2' 
], 
stores: [ 
'store1', 
'store2' 
] 

(視圖和控制器下同)

這一切工作對我們有好處。現在我們需要將所有這些模型,商店,控制器,視圖連接到一個app-all.js並在我們的app.html中使用它。我已經在網上閱讀了很多關於如何使用Sencha cmd工具的文章,但是沒有一篇是我的應用,因爲我們有安裝cmd工具的限制,我們需要使用Maven在構建時生成連接和縮小文件。 我發現了一個解決方案,通過使用JSBuilder2,我可以得到一個連接+縮小的app.js.

問題是現在,當我使用這個縮小文件,所有個人js文件仍在下載。就好像我刪除單個js文件一樣,我收到404錯誤,並且應用程序加載失敗。

我想這是因爲我們已經在我們的app.js中定義了模型,視圖,控制器;他們仍然在各個文件夾中查找js類文件。

請分享,如果你有任何解決方案。

回答

1

可以使用Ext.Loader(http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.Loader-cfg-enabled)的enabled屬性禁用動態加載程序:

Ext.Loader.setConfig({ enabled: false }) 

必須包括框架文件後,把這個代碼,但在此之前您的應用程序文件。

這應該防止Ext JS試圖下載文件。您需要確保您使用的所有框架和應用程序類都包含在頁面中。