我使用Sencha cmd生成了一个项目。这会创建一个名为'覆盖'的好文件夹。我把我重写的Ext.Ajax类放在哪里。然后我将它包含在我的app.js文件中,如此
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
有谁知道如何正确包含覆盖文件夹中的文件?
答案 0 :(得分:4)
结果我需要编辑.sencha / app / sencha.cfg文件,将以下内容添加到app.classpath的末尾
,${app.dir}/overrides
感谢Mitchell在官方Sencha论坛上帮助我! http://www.sencha.com/forum/showthread.php?261361-Properly-using-the-overrides-folder-generated-by-Sencha-Cmd-for-Ext-Js-4.2
答案 1 :(得分:3)
对于Ext 5用户,您可以在app.json中指定“覆盖文件夹”。示例:
"overrides": "${app.dir}/overrides",
答案 2 :(得分:1)
您可能需要在加载程序配置中定义路径以进行覆盖。
这样的事情:
Ext.Loader.setConfig({
paths: {
'Ext.ux': 'js/extjs/ux',
'overrides' : 'somepath/to/overrides',
'Skirtle.CTemplate':'js/extjs/ux/SkirtleCTemplate.js' //<-- specific component
}
});
答案 3 :(得分:1)
对我来说只是
requires: [
'overrides.Ajax'
]
无效我必须添加
requires: [
'MyApp.overrides.Ajax'
]
它有效:)
还有vars
// @require @packageOverrides
// @require @appOverrides
不要为我做任何事情,所以步骤是
,${app.dir}/overrides
sencha.cfg
app.js
Ext.application
中添加要求
醇>
在Sencha Cmd v4.0.2.67