Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.10.2015, 15:06
Аватар для Infarch
Профессор
Отправить личное сообщение для Infarch Посмотреть профиль Найти все сообщения от Infarch
 
Регистрация: 06.06.2014
Сообщений: 292

Настройка путей для SenchaCMD
Здравствуйте.

У меня есть воркспейс, в нем несколько приложений. Когда одно из приложений билдается, оно оказывается по следующему пути: "${workspace.build.dir}/${build.environment}/${app.name}". Как можно настроить один из проектов для билда в другую папку?
Например, чтобы файлы оказались в "с:/htdocs/${app.name}"?
Я пробовал менять app.json:
"output": {
        "base": "с:/htdocs/${app.name}"
    },

Это не помогло. Что еще можно попробовать?
Ответить с цитированием
  #2 (permalink)  
Старый 21.10.2015, 21:04
Аватар для nohuhu
Профессор
Отправить личное сообщение для nohuhu Посмотреть профиль Найти все сообщения от nohuhu
 
Регистрация: 21.05.2015
Сообщений: 321

Здравствуйте тоже.

Спросил у командирщиков, советуют попробовать "c:\\htdocs\\${app.name}". Для вящей пользы можно ещё запускать с флагом -debug:

sencha -debug app build

Потом можно будет заслать лог разработчикам, чтобы они посмотрели.
Ответить с цитированием
  #3 (permalink)  
Старый 22.10.2015, 14:04
Аватар для Infarch
Профессор
Отправить личное сообщение для Infarch Посмотреть профиль Найти все сообщения от Infarch
 
Регистрация: 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. Как и где можно это починить?
Ответить с цитированием
  #4 (permalink)  
Старый 22.10.2015, 21:35
Аватар для nohuhu
Профессор
Отправить личное сообщение для nohuhu Посмотреть профиль Найти все сообщения от nohuhu
 
Регистрация: 21.05.2015
Сообщений: 321

Честно говоря, не совсем понимаю, что вы хотите получить в итоге. Вы меняете пути в production build, файлы попадают куда нужно. Отладку на production вести не нужно, для этого есть development build. Настройки для него меняются отдельно.

Также не совсем понятно, как вы запускаете приложение прямо из workspace. Просто открываете файл index.html в браузере через file:// схему? Я бы не рекомендовал так делать, будут проблемы с отладкой Ajax запросов и некоторых других вещей из-за браузерной защиты. Лучше используйте sencha app watch и встроенный сервер Cmd.
Ответить с цитированием
  #5 (permalink)  
Старый 23.10.2015, 11:20
Аватар для Infarch
Профессор
Отправить личное сообщение для Infarch Посмотреть профиль Найти все сообщения от Infarch
 
Регистрация: 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 сервер. Не скажу что все это красиво, но жить можно.

Тем не менее, я бы с удовольствием почитал о рецептах кошерной разработки и деплоя.
Ответить с цитированием
  #6 (permalink)  
Старый 23.10.2015, 17:30
Аватар для kolka
Кандидат Javascript-наук
Отправить личное сообщение для kolka Посмотреть профиль Найти все сообщения от kolka
 
Регистрация: 07.06.2010
Сообщений: 146

Для подобных целей я использую этот мануал, и тут . Все что нужно делать - это редактировать - build.xml
Ответить с цитированием
  #7 (permalink)  
Старый 23.10.2015, 22:42
Аватар для nohuhu
Профессор
Отправить личное сообщение для nohuhu Посмотреть профиль Найти все сообщения от nohuhu
 
Регистрация: 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.
Ответить с цитированием
  #8 (permalink)  
Старый 23.10.2015, 22:44
Аватар для nohuhu
Профессор
Отправить личное сообщение для nohuhu Посмотреть профиль Найти все сообщения от nohuhu
 
Регистрация: 21.05.2015
Сообщений: 321

Сообщение от kolka Посмотреть сообщение
Все что нужно делать - это редактировать - build.xml
Можете привести примеры, когда вам нужно было редактировать build.xml? Я спрошу у разработчиков, может быть есть какие-то существующие механизмы для решения тех же задач.
Ответить с цитированием
  #9 (permalink)  
Старый 26.10.2015, 08:59
Аватар для kolka
Кандидат Javascript-наук
Отправить личное сообщение для kolka Посмотреть профиль Найти все сообщения от kolka
 
Регистрация: 07.06.2010
Сообщений: 146

Сообщение от nohuhu Посмотреть сообщение
Можете привести примеры, когда вам нужно было редактировать build.xml? Я спрошу у разработчиков, может быть есть какие-то существующие механизмы для решения тех же задач.
У меня, по сути, проблем никаких пока не возникало. Это я для Infarch дополнительная информация.
Ответить с цитированием
  #10 (permalink)  
Старый 26.10.2015, 17:07
Аватар для Infarch
Профессор
Отправить личное сообщение для Infarch Посмотреть профиль Найти все сообщения от Infarch
 
Регистрация: 06.06.2014
Сообщений: 292

Воспользовавшись ссылкой номер два от kolka (спасибо!), я написал пост-билд обработчик который копирует файлы туда, куда мне надо. Проблема как бы решена наименьшей кровью, но все равно терзает вопрос: а почему билд делал мне кривую ссылку на css? В том же треде форума представитель Сенчи (mitchellsimoens, между прочим целый Sencha - Sr Software Engineer) советует тот же метод, на котором я споткнулся. Не все так гладко в королевстве Сенчи видимо...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[job] JS-разработчик (+Angular) на UI внутреннего проекта (для других разработчиков:) Anna-HR Работа 12 19.01.2015 13:50
Сделать класс активным для всех путей URL eXTrEMe888 jQuery 13 20.08.2014 13:58
виджет, только сторона клиента (JS, JQUery, работа с датами, масштабирование) eugen35 Работа 4 31.07.2014 09:50
IDE для Java Script constant Библиотеки/Тулкиты/Фреймворки 0 27.09.2012 09:31