Я создал свое приложение в extjs 6 через sencha cmd. При сборке приложения sencha все мои js-файлы объединяются в 1 файл (app.js). Я хочу сохранить структуру папок js, как раньше, чтобы помочь мне в отладке и установке точек останова. Есть ли способ сделать это?
Сборка extjs 6 объединяется в 1 файл
Ответы (3)
Вы должны выполнить отладку перед сборкой. Выполнение сборки на самом деле просто «компиляция» всех js в один файл.
В некоторых случаях вам нужно отладить сам код сборки, в этих случаях вы можете включить сжатие YUI, чтобы вы могли использовать точки останова и т. д. Затем просто используйте параметр «тестирование»:
sencha app build testing
Затем найдите свою сборку в build/testing вместо build/production. Существует также sencha app build development
, но это действительно полезно для создания/обновления начальной загрузки css, и вам лучше использовать для этого sencha app watch
(поскольку он постоянно отслеживает и обновляет при необходимости)
Важные команды Sencha для разработки и развертывания
sencha app build development
Это создаст сборку для разработки.
sencha app build production
Он создаст производственную сборку (один файл app.js).
sencha app build testing
Он создаст тестовую сборку.
sencha app watch
Он обновит и обновит ваш файл extjs.
sencha app build clean
Это сделает чистую сборку.
Вы можете и должны отлаживать свое приложение ExtJS, не компилируя его снова и снова.
Для меня это работает следующим образом:
- У меня есть серверный API, расположенный по адресу
localhost/api/
- У меня есть нескомпилированное приложение ExtJS, расположенное по адресу
localhost/app-dev/
, вместе с подкаталогомext
. - У меня есть скомпилированное приложение ExtJS, расположенное по адресу
localhost/app/
При развертывании я бы развернул на реальном сервере
- API в
server/subdir/api/
- приложение в
server/subdir/app/
Но отладка происходит локально. На моем компьютере для разработки есть дополнительный каталог app-dev
, который извлекается из того же API с использованием тех же относительных путей, а нескомпилированная версия всегда является полностью рабочей версией, которую можно запустить в браузере по вашему выбору.
Так что, если я только изменяю javascript и хочу протестировать, мне не нужно ждать компиляции — я могу перезагрузить localhost/app-dev/index.html
и готово. Когда я считаю, что в версии app-dev
нет ошибок, я просто дважды щелкаю пакетный файл, который создает скомпилированную версию в каталоге app
.
Если я хочу протестировать изменения CSS, я должен сначала скомпилировать, потому что Sencha Cmd использует файлы SCSS. Вот почему некомпилированная версия также хочет получить свои файлы CSS из каталога build
— браузер не может использовать нескомпилированный CSS. Но после компиляции новый CSS также доступен для нескомпилированной версии приложения.