У меня самая простая из возможных схем кэширования в PWA. (Я использовал другой ранее, но это было слишком запутанным - потому что кеш, похоже, не вел себя так, как я ожидал.)
Это просто список файлов, которые нужно кэшировать, и номер версии для кеша.
const CACHE_VERSION = "n.n.n";
const CURRENT_CACHES = {
offline: 'offline-v' + CACHE_VERSION
};
const installCache = [ ... list of files to cache ... ]
с тем, что я считаю обычной обработкой события «activ» и т. Д. Сейчас я вижу в Google Chrome, что файл «.mjs» не обновляется в последней версии PWA. кеш.
Это мой обработчик событий "install":
self.addEventListener('install', event => {
async function doIinstall() {
sendMessageToWindowClients("install-begin");
const cache = await caches.open(CURRENT_CACHES.offline);
await event.waitUntil(cache.addAll(installCache));
sendMessageToWindowClients("install-end");
}
event.waitUntil(doIinstall());
})}
Что-то не так с этим обработчиком событий?
РЕДАКТИРОВАТЬ: проверка "Обновление"при перезагрузке »во вкладке Chrome Application исправляет кеш.