Управление кешем в веб-приложении с помощью backbone.js и require.js

Я унаследовал приложение, которое использует backbone.js и require.js. Я хотел кэшировать файлы CSS, изображений и JS в браузере на бесконечное время и не хотел кэшировать HTML. Итак, когда у меня есть какие-либо изменения в CSS, JS или изображениях, я могу обновить параметр запроса в HTML, и браузер получит последнюю версию ресурса.

Наше приложение работает на Glassfish 3.1.2, поэтому я не мог использовать mod_headers, как в Apache, для управления поведением. В итоге я добавил фильтр и добавил заголовок ответа Cache-control для всех css, js и изображений. Это прекрасно работает для css и изображений, но все те модели и коллекции, которые являются результатом использования backbone.js, не обновляются. Ну не мог я сообразить, как их стереть из кеша, если у меня на сервере обновленная версия.

Любые указатели по этому вопросу помогут мне понять это.

Спасибо.


person motiver    schedule 18.10.2012    source источник


Ответы (1)


Вы должны использовать перебор ( смотрите здесь ), поэтому, когда у вас будет новая версия, просто обновите его версию в бюсте, что-то вроде этого в производстве.

urlArgs: "бюст=" + v2

и все старые вещи js будут снова загружены.

Ваше здоровье !

person Cristiano Fontes    schedule 19.10.2012
comment
Спасибо. Я устанавливаю бюст на требуемом объекте перед его использованием следующим образом: ‹script› var require = { urlArgs : bust=r10 }; ‹/скрипт› - person motiver; 19.10.2012