форсировать текст RequireJS!перезагрузить - PullRequest
6 голосов
/ 16 февраля 2012

Использование текста!плагин, есть ли способ заставить RequireJS перезагрузить файл, а не возвращать кэшированные данные?

Ответы [ 2 ]

1 голос
/ 16 февраля 2012

RequireJS будет кэшировать файл только по запросу. Перезагрузка страницы получит его снова. Если вы видите что-то другое, это потому что:

  • Либо у вас есть кеширование на вашем сервере.
  • или ваш браузер кеширует запрос. Конечно, вы можете отключить это в своем браузере.

Если вы хотите, чтобы браузеры каждый раз загружали чистый файл, у вас должен быть заголовок no-cache для этих ресурсов на вашем сервере.

0 голосов
/ 02 марта 2016

Я думаю, что вы можете добавить новую функцию кэширования html5, предоставив манифест кэша: http://www.html5rocks.com/en/tutorials/appcache/beginner/

тогда вы можете использовать requirejs "domReady", чтобы получить правильное событие загрузки: http://requirejs.org/docs/api.html#pageload

и затем прослушайте правильное событие (код взят из первой ссылки):

window.applicationCache.addEventListener('updateready', function(e) {
if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {
  // Browser downloaded a new app cache.
  if (confirm('A new version of this site is available. Load it?')) {
    window.location.reload();
  }
} else {
  // Manifest didn't changed. Nothing new to server.
}}, false);

в этот момент, когда вы обновляете urlArgs, вы получаете новые js-файлы, а с файлом кэша манифеста вы получаете новые html-файлы

...