Сборка extjs 6 объединяется в 1 файл

Я создал свое приложение в extjs 6 через sencha cmd. При сборке приложения sencha все мои js-файлы объединяются в 1 файл (app.js). Я хочу сохранить структуру папок js, как раньше, чтобы помочь мне в отладке и установке точек останова. Есть ли способ сделать это?


person AngryLeo    schedule 06.07.2016    source источник
comment
Вы всегда можете открыть нескомпилированную версию приложения в любом браузере по вашему выбору.   -  person Alexander    schedule 11.07.2016
comment
@Александр Как мне это сделать? всякий раз, когда я развертываю приложение без его сборки, оно ищет файлы внутри папки сборки и выдает ошибку.   -  person AngryLeo    schedule 12.07.2016


Ответы (3)


Вы должны выполнить отладку перед сборкой. Выполнение сборки на самом деле просто «компиляция» всех js в один файл.

В некоторых случаях вам нужно отладить сам код сборки, в этих случаях вы можете включить сжатие YUI, чтобы вы могли использовать точки останова и т. д. Затем просто используйте параметр «тестирование»:

sencha app build testing

Затем найдите свою сборку в build/testing вместо build/production. Существует также sencha app build development, но это действительно полезно для создания/обновления начальной загрузки css, и вам лучше использовать для этого sencha app watch (поскольку он постоянно отслеживает и обновляет при необходимости)

person Sven Tore    schedule 06.07.2016

Важные команды Sencha для разработки и развертывания

sencha  app build development

Это создаст сборку для разработки.

sencha  app build production

Он создаст производственную сборку (один файл app.js).

 sencha  app build testing

Он создаст тестовую сборку.

sencha  app watch 

Он обновит и обновит ваш файл extjs.

 sencha  app build clean

Это сделает чистую сборку.

person CharanRoot    schedule 07.07.2016

Вы можете и должны отлаживать свое приложение 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 также доступен для нескомпилированной версии приложения.

person Alexander    schedule 12.07.2016