Контролиране на кеша в уеб приложение с помощта на backbone.js и require.js

Наследих приложение, което използва backbone.js и require.js. Исках да кеширам CSS, изображения и JS файлове в браузъра за безкрайно време и не исках да кеширам HTML. Така че, когато имам промени в CSS, JS или изображения, мога да актуализирам параметъра на заявката в HTML и браузърът ще извлече най-новата версия на актива.

Нашето приложение е на Glassfish 3.1.2, така че не можах да използвам mod_headers като в Apache, за да контролирам поведението. Това, което в крайна сметка направих, беше да добавя филтър и да добавя заглавка на отговора за контрол на кеша към всички css, js и изображения. Това работи добре за css и изображения, но всички онези модели и колекции, които са резултат от използването на backbone.js, не се актуализират. Е, не можах да разбера как да ги изтрия от кеша, ако имам актуализирана версия на сървъра.

Всички указания по този въпрос ще ми помогнат да разбера това.

Благодаря.


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


Отговори (1)


Трябва да използвате bust ( вижте тук), така че когато имате нова версия, просто актуализирайте версията му в разрушаване, нещо подобно в производството.

urlArgs: "bust=" + v2

и всички по-стари js неща ще бъдат извлечени отново.

наздраве !

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