Я использую механизм приложения локально, и иногда файлы JS кэшируются между обновлениями страницы, и он сводит меня с ума, потому что я не знаю, существует ли ошибка в коде JavaScript, я пытаюсь записать, или если кэш капризничает.
Как я полностью отключаю кэш для *.js файлов? Или возможно вопрос, как иметь его быть умным, как на основе измененной в последний раз даты.
Спасибо!
ОБНОВЛЕНИЕ - Таким образом, это оказывается Chrome Dev (для Mac, по крайней мере) имеет кэширующиеся проблемы, возвращение к Chrome Beta фиксирует все это. Ответы все еще были полезны хотя, спасибо
На основе документации вы можете указать срок действия кеша для всего приложения:
Если не указано иное, веб-браузеры сохраняют файлы, которые они загружают с веб-сайта в течение ограниченного периода времени.Вы можете определить период глобального кеширования по умолчанию для всех обработчиков статических файлов для приложения, включив элемент default_expiration, элемент верхнего уровня. Вы также можете настроить продолжительность кеширования для конкретного обработчика статических файлов. (Обработчики сценариев могут устанавливать длительность кеширования, возвращая браузеру соответствующие заголовки HTTP.)
default_expiration
Продолжительность времени, в течение которого статический файл, обслуживаемый обработчиком статических файлов, должен быть кэширован в браузере пользователя, если обработчик не указывает собственное истечение срока. Значение представляет собой строку чисел и единиц, разделенных пробелами, где единицы могут быть d для дней, h для часов, m для минут и s для секунд. Например, «4д 5ч» устанавливает срок действия кеша на 4 дня и 5 часов после первой загрузки файла браузером.
default_expiration не является обязательным. Если опущено, поведение по умолчанию - позволить браузеру определять продолжительность своего кэша.
... и если вы хотите указать срок действия для каталога за каталогом:
expiration
Продолжительность времени, в течение которого статический файл, обслуживаемый этим обработчиком, должен быть кэширован в браузере пользователя. Значение представляет собой строку чисел и единиц, разделенных пробелами, где единицы могут быть d для дней, h для часов, m для минут и s для секунд. Например, «4д 5ч» устанавливает срок действия кеша на 4 дня и 5 часов после первой загрузки файла браузером.
Попробуйте установить их на 0d0h или 1s и посмотрите, отключает ли это кеширование полностью.
Обычная практика, используемая основными сайтами, - это кэширование документов навсегда, но включение уникального идентификатора на основе версии выпуска или даты в URL-адрес для .js или вызов .css. Например:
<script type="text/javascript" src="static/util.js?version=20100310"></script>
Таким образом вы получаете оптимальное кэширование, а также всегда актуальные файлы. Единственный трюк - выяснить, как включить номер последней версии в свой URL-адрес, который можно автоматизировать в зависимости от среды развертывания.