Разный код для development и production версий приложения
Я на этапе sencha app watch пользуюсь Ext.ux.ajax.SimManager для эмуляции ответов на запросы от прокси хранилищ.
Как мне этот код выделить таким образом, чтобы при сборке приложения командой sencha app build код эмуляции AJAX-ответов был исключен? |
|
На данный момент нашел пока директиву компилятора, код которой в продакшн не попадает.
//<debug> ... //</debug> |
Мне кажется, проще будет не исключать код из боевой версии, а наоборот - включать дополнительный код в отладочную.
Сделать это можно в app.json: "development": { "js": [{ path: "app/store/AjaxSimulation.js" }] } В KitchenSink есть примеры разных директив для отдельных сборок. |
Цитата:
|
В app.json приложения KitchenSink есть вот такие структуры:
... /** * override objects for setting build environment specific * settings. */ "production": { "output": { "appCache": { "enable": false } }, "cache": { "enable": false } }, "testing": { }, "development": { "fashion": { "inliner": { "enable": false } } }, ... Насколько я помню из обсуждений этого вопроса с Кевином, объекты production/testing/development могут содержать почти все остальные директивы и таким образом перекрывать нужные настройки для конкретной сборки. Какие именно директивы не входят в список "почти", я не знаю. Проще будет попробовать, с большой долей вероятности всё сработает. |
nohuhu, а нет ли внятной документации по app.json? А то там много всего, но из скудных комментариев сложно понять как все это готовить. Вот например я тут вижу "testing", но что это? Я только с "development" и "production" знаком. Fashion тоже зверюшка интересная...
|
Спасибо за ответ!
Буду проверять "development": { "js": [{ path: "app/store/AjaxSimulation.js" }] } Надо будет решить вопросы: какой конкретно код там размещать и в какой момент этот файл подгружается. |
А почему строка
"path": "${app.dir}/sim/DataSimulation.js" не сработала? ${app.dir} = пусто! |
@khusamov,
Трудно сказать, не видя логов. ;) |
Часовой пояс GMT +3, время: 22:59. |