ExtJS - sencha应用程序构建依赖性错误

时间:2016-01-08 21:04:04

标签: build extjs5 sencha-cmd

我试图扩展第三方课程。代码是这样的。注意我指定了加载openGL.view的位置。

Ext.Loader.setPath({
    'openGL.view': 'C:/Users/«username»/Documents/third-party/openGL/view/'
});

Ext.define('myOpenGL.view.Qxga',{
    extend: 'openGL.view.Uxga',
    alias: 'widget.qxga',
    itemId: 'qxga',
    requires: [
            'openGL.view.Uxga',
            'myOpenGL.view.QxgaController'
    ],
    controller: 'QxgaController'
});

当我构建它时,我会收到这样的错误:

[ERR] Failed to resolve dependency openGL.view.Uxga for file myOpenGL.view.Qxga
[ERR]
[ERR] BUILD FAILED
[ERR] com.sencha.exceptions.ExNotFound: Unknown definition for dependency : openGL.view.Uxga
[ERR]
[ERR] Total time: 6 seconds
[ERR] The following error occurred while executing this line:
C:\Users\«username»\Applications\Sencha\Cmd\5.1.0.26\plugins\ext\current\plugin.xml:403: The following error occurred while executing this line:
C:\Users\«username»\Documents\workspace\openGL\.sencha\app\build-impl.xml:378: The following error occurred while executing this line:
C:\Users\«username»\Documents\workspace\openGL\.sencha\app\init-impl.xml:303: com.sencha.exceptions.ExNotFound: Unknown definition for dependency : openGL.view.Uxga

有些问题:

  • 为什么找不到openGL.view.Uxga
  • 我读过关于修改build-impl.xml的内容,但取得了不同程度的成功。我需要做什么,有没有办法在不修改文件的情况下做同样的事情?说某种覆盖或命令行参数?
  • 如果有办法使用setPath执行此操作,则third-party目录可能不在同一位置。有没有办法包含Windows环境变量或类似的东西?

1 个答案:

答案 0 :(得分:1)

Sencha Cmd不知道Ext.Loader.setPath调用,Cmd不执行JavaScript。相反,在您的app.json中,您可以将C:/Users/«username»/Documents/third-party添加到classpath配置中。 classpath是逗号分隔的(我认为它现在甚至可能是一个数组)Cmd将用于检查其中的文件以搜索Ext JS类(或通过某些注释标记)的路径列表@require和@class)。

"classpath": "app,C:/Users/«username»/Documents/third-party"