使用Sencha Cmd构建时的Sencha Touch错误:无法找到用于depdency参考的文件

时间:2013-04-23 16:22:57

标签: extjs build sencha-touch sencha-cmd

当我想用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移动浏览器上正常运行。我在控制台中没有消息或错误。

哪里可能是我的错误?

2 个答案:

答案 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找到了所有文件。