当我想用SenchaCmd构建我的应用程序时,我收到以下错误:
Failed to find file(s) for depdency reference /workspace/SmartphoneClient/app.js::ExtRequire::Ext.ux.picker.DateTime
这就是我的app.js的样子:
Ext.Loader.setPath({
'Ext': 'touch/src',
'CatchMyPain': 'app',
'Ext.ux': 'extensions/ux'
});
Ext.require('Ext.ux.picker.DateTime');
Ext.require('Ext.ux.field.DateTimePicker');
两个文件DateTime和DateTimePicker位于扩展名/ ux / field / DateTimePicker.js和extensions / ux / picker / DateTime.js
下的正确文件夹中该应用可在Chrome浏览器和Safari移动浏览器上正常运行。我在控制台中没有消息或错误。
哪里可能是我的错误?
答案 0 :(得分:2)
因为Sencha CMD构建无法自动解析来自加载器的路径。但是它使用classpath。这应该在配置文件中定义(如逗号分隔列表)。我没有测试它,因为我使用了sencha编译命令(见下文)
来自文档: 由于app.classpath配置值存储在“.sencha / app / sencha.cfg”中,因此sencha app build命令知道在哪里找到应用程序源。默认情况下,此值为:
app.classpath=${app.dir}/app
向此逗号分隔列表添加目录会通知编译器在何处查找构建应用程序所需的源代码。
你应该是:app.classpath=${app.dir}/app, ${app.dir}/extensions/ux
如果使用sencha编译命令:
sencha compile -classpath=./extensions/ux -classpath=./app page -in index.html -out test.html
答案 1 :(得分:2)
我必须将目录添加到.sencha / app / sencha.cfg
的类路径中app.classpath=${app.dir}/app.js,${app.dir}/app,${app.dir}/extensions
这样,senchaCMD找到了所有文件。