Я работаю с ExtJS 4.x и Sencha Architect 2.2, но это должно иметь отношение к более поздним версиям и любому приложению, которое использует класс Ext.Loader
для динамической загрузки скриптов, в том числе Sencha Touch.Отключить кэширование загрузчика сценария Sencha, но только при разработке/отладке
По умолчанию Ext.Loader
добавляет ? _dc = ... кэша перебора параметров, чтобы убедиться, что последняя версия каждого сценария загружается в браузер. При развертывании в производственной или бета-тестовой среде это хорошо, так как это гарантирует, что пользователь/тестер получает последний скрипт каждый раз при развертывании и обновлении, но для среды разработки это не обязательно, потому что разработчики знают, как использовать методы браузера например ctrl + F5, чтобы перезагрузить все скрипты. Более того, при перегрузке приложения в браузере теряется возможность отладки кэша, поскольку точки останова теряются и т. Д.
Ошибка кэширования отключена установкой disableCaching на false в конфигурации Ext.Loader
. Например:
Ext.Loader.setConfig({
enabled: true,
disableCaching: false
});
В этом фрагменте динамическая нагрузка включена и очистка кеша отключена. Однако существуют другие параметры конфигурации, описанные в документах API here.
В Sencha Architect этот код создан для вас в app.js, и вы не можете отредактировать его. У архитектора есть «настройка проекта», чтобы включить кеширование, но в версии 2.2 он не работает для ExtJS 4. Я предполагаю, что он работает отлично в более поздних версиях, но кажется, что это все или ничего, поэтому вы должны помнить о его отключении и перестроить для развертывания в среде, отличной от dev.
То, что я хочу, чтобы иметь возможность:
- Обход параметры по ошибке в версии 2.2 Architect
- Включить очистку кэша в «производстве», но не в разработчика без восстановить мое приложение
Хорошая идея @ cpastore84. Однако иногда бывает удобно использовать режим отладки в производстве. –