3

我已经使用 Sencha cmd 生成了一个项目。这将创建一个名为“overrides”的漂亮文件夹,我将重写的 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

有谁知道如何正确包含覆盖文件夹内的文件?

4

4 回答 4

4

原来我需要编辑 .sencha/app/sencha.cfg 文件,将以下内容添加到 app.classpath 的末尾

,${app.dir}/overrides

感谢官方 Sencha 论坛上的 Mitchell 帮助我! http://www.sencha.com/forum/showthread.php?261361-Properly-using-the-overrides-folder-generated-by-Sencha-Cmd-for-Ext-Js-4.2

于 2013-04-17T13:36:23.577 回答
3

对于 Ext 5 用户,您可以在 app.json 中指定“覆盖文件夹”。例子:

"overrides": "${app.dir}/overrides",
于 2014-09-30T03:33:55.357 回答
1

您可能需要在加载程序配置中定义路径以进行覆盖。

像这样的东西:

Ext.Loader.setConfig({
    paths: {
        'Ext.ux': 'js/extjs/ux',
        'overrides' : 'somepath/to/overrides',
        'Skirtle.CTemplate':'js/extjs/ux/SkirtleCTemplate.js' //<-- specific component
    }
});
于 2013-04-15T20:37:43.410 回答
1

对我来说只是

requires: [
    'overrides.Ajax'
]

没用我必须添加

requires: [
    'MyApp.overrides.Ajax'
]

它奏效了:)

还有变量

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

不要为我做任何事情,所以步骤是

  1. 添加,${app.dir}/overridessencha.cfg
  2. app.js在里面添加需求Ext.application

经测试Sencha Cmd v4.0.2.67

于 2014-02-18T14:58:04.637 回答