Я запускаю одностраничное приложение в IIS и использую библиотеку i18next для переводов в моем приложении. Проблема в том, что иногда, когда я добавляю новые ключевые слова в свой файл translation.json и нажимаю refresh, браузер по-прежнему использует старый файл кеширования перевода, и это приводит к тому, что пользователь видит добавленные ключевые слова, но не переводы. Например. если я добавлю ключевое слово "somekey": "Some text here..."
, тогда вместо указанного текста будет отображаться somekey
.Как отключить кеширование файлов i18next translation.json?
Как мой файл translation.json находится в папке под названием locales
так:
locales
en
translation.json
Я попытался, добавив следующие настройки в web.config:
<location path="locales">
<system.webServer>
<staticContent>
<clientCache cacheControlMode="DisableCache" />
</staticContent>
</system.webServer>
</location>
Однако, когда я смотрел на сетевой трафик с инструментами разработчика Chrome, я заметил, что файл translation.json по-прежнему поступает из кеша, а заголовок Cache-Control: no-cache
отсутствует. Почему это не работает? Каков правильный способ отключения кэширования файла?
EDIT: Только что проверил сайт снова, и кажется, что translation.json файл теперь имеет заголовок Cache-Control: no-cache
и это на самом деле быть извлечено с сервера каждый раз, когда я обновить эту страницу. На данный момент я думаю, что проблема могла иметь какое-то отношение к нашему процессу выпуска и изменения конфигурации, которые не применяются. Не уверен, хотя.