Как заставить сервисного работника очистить кеш?
Я разработал PWA. Проблема, с которой я столкнулся, заключается в том, что при выпуске новой версии я увеличиваю номер версии в файле рабочего сервиса (sw.js), и когда он запускается, кеш восстанавливается. Номер версии - это имя кеша, поэтому изменение должно инициировать новый кеш, который он запускает при запуске.
Проблема здесь в том, когда он работает.
Некоторым из моих клиентов трудно "получить" последнюю версию, потому что их браузер не хочет загружать новую версию и настаивает на обслуживании старой версии, пока я не проинструктирую клиента вручную очистить кэш браузера и перезагрузить Chrome.
В моем проекте мой сервисный работник зарегистрирован в js-файле с именем app.js.
Возможно, проблема в том, что sw.js импортируется зарегистрированным в файле app.js со следующей строкой:
.register ('/ государственный /sw.js')
Мой вопрос заключается в том, будет ли нормально использовать метод очистки кэша в app.js, чтобы эти файлы запускались каждый раз, а затем, когда я вносил изменения в файл sw.js (обозначенный новым номером версии), старый кеш не будет использоваться, но будет создан новый кеш.
Для кеша app.js я бы использовал
var versionUpdate = (new Date()).getTime();
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "/js/app.js?v=" + versionUpdate;
document.body.appendChild(script);
Для тех, кто знает о PWAs... Это вызовет какие-либо неблагоприятные последствия?
Спасибо