【问题标题】:How to use the 'overrides' folder generated by Sencha cmd for an Ext JS 4 project如何将 Sencha cmd 生成的“覆盖”文件夹用于 Ext JS 4 项目
【发布时间】:2013-04-15 19:50:22
【问题描述】:

我已经使用 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

有谁知道如何正确包含 overrides 文件夹中的文件?

【问题讨论】:

    标签: extjs extjs4


    【解决方案1】:

    原来我需要编辑 .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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 非常感谢。这对我有用。我不知道他们为什么忽略 sencha.cfg 文件中的“app.classpath”属性。
      • 在 Ext 6 中,默认值缺少“${app.dir}”值
      【解决方案3】:

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

      类似这样的:

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

      【讨论】:

      • 很好的建议,但似乎不是我的问题。由于 'overrides' 文件夹出现在 'app' 和 'ext' 旁边,我在路径中添加了 'overrides':'overrides' 但它似乎没有帮助。
      【解决方案4】:

      对我来说只是

      requires: [
          'overrides.Ajax'
      ]
      

      没有用,我必须添加

      requires: [
          'MyApp.overrides.Ajax'
      ]
      

      它成功了:)

      还有变量

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

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

      1. sencha.cfg 中添加,${app.dir}/overrides
      2. app.js 中添加需求Ext.application

      Sencha Cmd v4.0.2.67测试

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-12-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多