0

当我想用 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 这两个文件位于 extension/ux/field/DateTimePicker.js 和 extensions/ux/picker/DateTime.js 下的正确文件夹中

该应用程序在 Chrome 浏览器和 Safari 移动浏览器上运行良好。我在控制台中没有收到任何消息或错误。

我的错误在哪里?

4

2 回答 2

2

我必须将目录添加到 .sencha/app/sencha.cfg 的类路径中

app.classpath=${app.dir}/app.js,${app.dir}/app,${app.dir}/extensions

这样 senchaCMD 就找到了所有文件。

于 2013-05-21T11:03:44.480 回答
2

因为 Sencha CMD build 无法自动解析来自加载器的路径。但是它使用类路径。这应该在配置文件中定义(如逗号分隔列表)。我没有测试过它,因为我使用了 sencha 编译命令(见下文)

来自文档: 由于存储在“.sencha/app/sencha.cfg”中的 app.classpath 配置值,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
于 2013-04-25T15:24:30.927 回答