Итак, это то, о чем я немного ломаю голову, рассмотрим следующий сценарий:
Я работаю над своим проектом, я его строю, и в моем комплекте находится модуль lazyloaded:module-a-[oldhash].js
, в какой-то момент он будет загружен.
Все хорошо и здорово.
Я продолжаю работать над своим проектом, создаю новый пакет, развертываю, и теперь мой хэш контента изменился: module-a-[newhash].js
. Я развертываюсь, захожу на мою страницу, мой сервисный работник вызывает skipWaiting, но моя страница все еще пытается запросить module-a-[oldhash].js
, который сейчас больше не существует.
Как мне поступить? Единственный способ справиться с этим - показать сообщение «доступно обновление», которое отправляет сообщение skipWaiting работнику службы и перезагружает страницу при событии controllerchange
. Но мне любопытно, если нет способа достичь того же самого, не включая такой шаблон уведомлений / тостов и перезагрузку.
Кроме того, я понимаю, что это может создать проблему только с загруженными ресурсами
Правильно ли я понимаю эти проблемы? Каковы некоторые распространенные способы борьбы с этим?