2013-04-15 45 views
3

我已經使用Sencha cmd生成了一個項目。這創建了一個名爲'overrides'的好文件夾,我已經放置了重寫的Ext.Ajax類。然後我把它給我的app.js文件中像這樣如何使用由Sencha cmd生成的'overrides'文件夾用於Ext JS 4項目

requires: [ 
    'overrides.Ajax' 
] 

使用我的應用程序時,這一切正常,但是當我嘗試建立使用Sencha CMD它,我得到以下錯誤:

[ERR] BUILD FAILED 
[ERR] com.sencha.exceptions.BasicException: The following error occurred while e 
xecuting this line: 
[ERR] Z:\public_html\LoginScreen\.sencha\app\build-impl.xml:469: com.sencha.exce 
ptions.ExBuild: com.sencha.exceptions.ExBuild: Failed to find any files for Z:\p 
ublic_html\LoginScreen\app\app.js::ClassRequire::overrides.Ajax 

有誰知道如何正確包含覆蓋文件夾內的文件?

回答

1

您可能需要在加載器配置中爲覆蓋定義的路徑。

事情是這樣的:

Ext.Loader.setConfig({ 
    paths: { 
     'Ext.ux': 'js/extjs/ux', 
     'overrides' : 'somepath/to/overrides', 
     'Skirtle.CTemplate':'js/extjs/ux/SkirtleCTemplate.js' //<-- specific component 
    } 
}); 
+0

好的建議,但它似乎並不是我的問題。由於'覆蓋'文件夾出現在'app'和'ext'旁邊,我添加了'覆蓋':'覆蓋'到我的路徑,但似乎沒有幫助。 – FoxMulder900

+0

+1特定組件聲明 – A1rPun

1

對我來說只是

requires: [ 
    'overrides.Ajax' 
] 

沒有工作,我不得不添加

requires: [ 
    'MyApp.overrides.Ajax' 
] 

和它的工作:)

另外,瓦爾

// @require @packageOverrides 
// @require @appOverrides 

沒有爲我做任何事,這樣的步驟是

  1. 添加在sencha.cfg
  2. ,${app.dir}/overrides添加需要內部Ext.application

app.jsSencha Cmd v4.0.2.67

3

測試對於Ext 5用戶,您可以在app.json中指定「覆蓋文件夾」。例如:

"overrides": "${app.dir}/overrides", 
+0

非常感謝。這對我有效。我不知道他們爲什麼忽略sencha.cfg文件中的「app.classpath」屬性。 –

+1

在Ext 6中,默認值缺少「$ {app.dir}」值 –

相關問題