Ошибка SenchaTouch при сборке с SenchaCmd: не удалось найти файл (-ы) для ссылки на зависимость

Когда я хочу создать приложение с помощью 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 и расширениями / ux /picker/DateTime.js.

Приложение прекрасно работает с браузером Chrome и браузером Safari для мобильных устройств. Там я не получаю сообщений или ошибок в консоли.

Где может быть моя ошибка?

2 ответа

Решение

Мне пришлось добавить каталог в путь к классам.sencha/app/sencha.cfg

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

Таким образом, senchaCMD нашел все файлы.

Потому что сборка Sencha CMD не может автоматически разрешать пути из загрузчика. Однако он использует classpath. Это должно быть определено в файле конфигурации (как разделенный запятыми список). Я не проверял это, думал, потому что я использую команду компиляции sencha (см. Ниже)

Из документов: Команда сборки приложения sencha знает, где найти источник вашего приложения, благодаря значению конфигурации app.classpath, хранящемуся в ".sencha/app/sencha.cfg". По умолчанию это значение:

app.classpath=${app.dir}/app

Добавление каталогов в этот список через запятую сообщает компилятору, где найти исходный код, необходимый для сборки приложения.

Ваш должен быть: app.classpath=${app.dir}/app, ${app.dir}/extensions/ux

Если вы используете команду sencha compile:

sencha compile -classpath=./extensions/ux -classpath=./app page -in index.html -out test.html
Другие вопросы по тегам