Я разработал PWA.Проблема, с которой я столкнулся, заключается в том, что при выпуске новой версии я увеличиваю номер версии в файле рабочего сервиса (sw.js), и когда он запускается, кеш восстанавливается.Номер версии - это имя кеша, поэтому изменение должно инициировать новый кеш, который он запускает при запуске.
Проблема здесь в том, когда он запускается.
Некоторым из моих клиентов трудно'получить' последнюю версию, потому что их браузер не хочет загружать новую версию и настаивает на обслуживании старой версии, пока я не проинструктирую клиента вручную очистить кэш браузера и перезагрузить Chrome.
В моем проекте ямой сервисный работник зарегистрирован в js-файле с именем app.js.
Возможно, проблема в том, что sw.js импортируется зарегистрированным в файле app.js со следующей строкой:
.register('/public/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);
Для тех, кто знает о PWA ... Это может вызвать какие-либо неблагоприятные последствия?
Спасибо