21.10.2015, 15:06
|
|
Профессор
|
|
Регистрация: 06.06.2014
Сообщений: 292
|
|
Настройка путей для SenchaCMD
Здравствуйте.
У меня есть воркспейс, в нем несколько приложений. Когда одно из приложений билдается, оно оказывается по следующему пути: "${workspace.build.dir}/${build.environment}/${app.name}". Как можно настроить один из проектов для билда в другую папку?
Например, чтобы файлы оказались в "с:/htdocs/${app.name}"?
Я пробовал менять app.json:
"output": {
"base": "с:/htdocs/${app.name}"
},
Это не помогло. Что еще можно попробовать?
|
|
21.10.2015, 21:04
|
|
Профессор
|
|
Регистрация: 21.05.2015
Сообщений: 321
|
|
Здравствуйте тоже.
Спросил у командирщиков, советуют попробовать "c:\\htdocs\\${app.name}". Для вящей пользы можно ещё запускать с флагом -debug:
sencha -debug app build
Потом можно будет заслать лог разработчикам, чтобы они посмотрели.
|
|
22.10.2015, 14:04
|
|
Профессор
|
|
Регистрация: 06.06.2014
Сообщений: 292
|
|
nohuhu, спасибо за ответ!
Я уже добился чего хотел несколько иным способом, но получил очередную проблему которую непонятно как решить. Но давайте обо всем по порядку.
Для начала, в sencha.cfg я создал константу которая указывает на мой веб сервер:
docia.htdocs.dir = c:/bb_projekt/docia/webserver/htdocs
Далее, в app.json моего приложения добавил вот такое:
"production": {
"output": {
"base": "${docia.htdocs.dir}/${app.name}"
}
}
Теперь билд идет туда куда я хочу, но вот не обошлось без ложки дегтя. Когда я тестирую приложение, я запускаю его прямо из воркспейса, ну не хочется мне постоянно запускать билд на каждое изменение! И вот там теперь не находится css файл. Мое приложение называется Toster, и оно пытается подгрузить Toster-all.css с адреса http://executor.interlogic.com.ua/do...Toster-all.css. Если уж лезть в билды то адрес должен быть таким: http://executor.interlogic.com.ua/Toster/Toster-all.css. Как и где можно это починить?
|
|
22.10.2015, 21:35
|
|
Профессор
|
|
Регистрация: 21.05.2015
Сообщений: 321
|
|
Честно говоря, не совсем понимаю, что вы хотите получить в итоге. Вы меняете пути в production build, файлы попадают куда нужно. Отладку на production вести не нужно, для этого есть development build. Настройки для него меняются отдельно.
Также не совсем понятно, как вы запускаете приложение прямо из workspace. Просто открываете файл index.html в браузере через file:// схему? Я бы не рекомендовал так делать, будут проблемы с отладкой Ajax запросов и некоторых других вещей из-за браузерной защиты. Лучше используйте sencha app watch и встроенный сервер Cmd.
|
|
23.10.2015, 11:20
|
|
Профессор
|
|
Регистрация: 06.06.2014
Сообщений: 292
|
|
Да, файлы попадают куда нужно, так что к продакшен билду нареканий нет. Но вот в остальном я несколько запутался. Девелопмент билд это что? Вы извините, может я не внимательно читал мануалы, можете линкануть нужный ресурс?
Теперь о том, как я запускаю индекс приложения в воркспейсе. Конечно же, не через file://. Я создал алиас для воркспейса в локальном Апаче, и у меня получилось так: http://executor.interlogic.com.ua/sw/Toster/index.html. Так что весь аджакс работает корректно. Но вот тут возникает проблема о которой я писал выше.
Как только я выполнил sencha app build, приложение (то что в воркспейсе) начало искать свой css по неправильному пути. Насколько я понимаю, билд меняет бутстрап приложения в воркспейсе. Я попробовал запустить watch как вы и советовали. Он мне поднял локальный сервер, опять таки изменил бутстрап (судя по логам) и теперь css тянется из продакшен билда по правильному пути.
А вот отлаживать приложение под ватчем я не могу! Дело в том что сенчевское приложение у меня, это часть большего сайта, который работает под локальным Апачем. И приложение постоянно к нему обращается за данными, используя относительные ссылки. Watch стартует свой сервер на порте отличном от 80, так что основной сайт становится недоступен из приложения.
Однако я тут нашел некий workaround для решения проблем. У меня работает watch и правит бутстрап. А тестирую я приложение, заходя на него через мой апач, а не через watch сервер. Не скажу что все это красиво, но жить можно.
Тем не менее, я бы с удовольствием почитал о рецептах кошерной разработки и деплоя.
|
|
23.10.2015, 17:30
|
|
Кандидат Javascript-наук
|
|
Регистрация: 07.06.2010
Сообщений: 146
|
|
Для подобных целей я использую этот мануал, и тут . Все что нужно делать - это редактировать - build.xml
|
|
23.10.2015, 22:42
|
|
Профессор
|
|
Регистрация: 21.05.2015
Сообщений: 321
|
|
Сообщение от Infarch
|
Да, файлы попадают куда нужно, так что к продакшен билду нареканий нет. Но вот в остальном я несколько запутался. Девелопмент билд это что? Вы извините, может я не внимательно читал мануалы, можете линкануть нужный ресурс?
|
Ух, навскидку ресурсами не поделюсь. Сам не помню, искать сейчас некогда. :) Вкратце есть разные типы сборок: development, testing, production. В development каждый файл с классом грузится отдельно, CSS не минифицируется. Testing идёт дальше и собирает весь код в app.js, но не минифицирует. Production идёт ещё дальше, код собирается в единый app.js и выкидываются блоки <debug></debug>, код и CSS минифицируется.
Цитата:
|
Теперь о том, как я запускаю индекс приложения в воркспейсе. Конечно же, не через file://.
|
Спасибо, теперь понятнее.
Цитата:
|
Однако я тут нашел некий workaround для решения проблем. У меня работает watch и правит бутстрап. А тестирую я приложение, заходя на него через мой апач, а не через watch сервер. Не скажу что все это красиво, но жить можно.
|
Да я б не сказал, что прямо так уж некрасиво. Основной смысл app watch в том, чтобы следить за файловой системой и делать инкрементальные сборки. Локальный HTTP сервер это уж так, побочная плюшка. В смысле, Cmd его сама внутренне использует, ну так и вы тоже можете; если это почему-то неудобно и есть основной сервер, то и ладно.
Цитата:
|
Тем не менее, я бы с удовольствием почитал о рецептах кошерной разработки и деплоя.
|
Я напрямую Cmd не занимаюсь, поэтому могу поделиться только ссылкой на документацию: http://docs.sencha.com/cmd/6.x/. Вообще разработка и внедрение это большая, очень большая тема. На прошлом SenchaCon этим вопросам было уделено несколько сессий: http://www.senchacon.com.
|
|
23.10.2015, 22:44
|
|
Профессор
|
|
Регистрация: 21.05.2015
Сообщений: 321
|
|
Сообщение от kolka
|
Все что нужно делать - это редактировать - build.xml
|
Можете привести примеры, когда вам нужно было редактировать build.xml? Я спрошу у разработчиков, может быть есть какие-то существующие механизмы для решения тех же задач.
|
|
26.10.2015, 08:59
|
|
Кандидат Javascript-наук
|
|
Регистрация: 07.06.2010
Сообщений: 146
|
|
Сообщение от nohuhu
|
Можете привести примеры, когда вам нужно было редактировать build.xml? Я спрошу у разработчиков, может быть есть какие-то существующие механизмы для решения тех же задач.
|
У меня, по сути, проблем никаких пока не возникало. Это я для Infarch дополнительная информация.
|
|
26.10.2015, 17:07
|
|
Профессор
|
|
Регистрация: 06.06.2014
Сообщений: 292
|
|
Воспользовавшись ссылкой номер два от kolka (спасибо!), я написал пост-билд обработчик который копирует файлы туда, куда мне надо. Проблема как бы решена наименьшей кровью, но все равно терзает вопрос: а почему билд делал мне кривую ссылку на css? В том же треде форума представитель Сенчи (mitchellsimoens, между прочим целый Sencha - Sr Software Engineer) советует тот же метод, на котором я споткнулся. Не все так гладко в королевстве Сенчи видимо...
|
|
|
|