Я создаю приложение реакции, которое состоит из одностраничного приложения, размещенного на Amazon S3.
Иногда я внедряю изменения во внутреннюю часть и во внешнюю часть одновременно, и мне нужны все сеансы браузера, чтобы запустить новую версию, или по крайней мере те, чьи сеансы начинаются после последнего фронта -конец развертывания.
Что происходит, так это то, что многие из моих пользователей все еще используют старую интерфейсную версию на своих телефонах в течение нескольких недель , что несовместимо с новой версией серверной части. больше, но некоторые из них получают обновления к моменту начала следующего сеанса.
Поскольку я использую Webpack для сборки приложения, оно генерирует пакеты с хешами в их именах, в то время как файл index.html
, который определяет пакеты, которые следует использовать, загружается со следующим свойством cache-control: "no-cache, no-store, must-revalidate"
, Рабочий файл службы имеет ту же политику кэширования.
Идея состоит в том, что браузер пользователя может кэшировать все, кроме первых необходимых им файлов. План был хорош, но я заменяю файл index.html
на более новую версию, и мои пользователи не перезагружают этот файл при перезапуске приложения.
Существует ли полное руководство или способ обойти эту проблему?
Я также знаю, что PWA должен работать в автономном режиме, поэтому он должен иметь возможность кэширования для повторного использования, но эта идея также не помогает мне выполнять масштабное и мгновенное обновление, верно?
Какие у меня есть лучшие варианты?