Я пытаюсь настроить workbox-build для создания сервис-воркера (generateSW) или внедрить манифест (injectManifest) в существующий сервис-воркер. на основе списка предопределенных URL, а не соответствия шаблону для preCache определенных ресурсов при загрузке приложения.
не так:
const { generateSW } = require('workbox-build');
const swDest = 'app/cache-sw.js';
generateSW({
globDirectory: "app/",
globPatterns: [
"**/*.{html,js,png,css,json,txt,ico,config}"
]
swDest
}).then(({ count, size }) => {
console.log(`Generated ${swDest}, which will precache ${count} files, totaling ${size} bytes.`);
});
а что-то вроде этого:
const { generateSW } = require('workbox-build');
const swDest = 'app/cache-sw.js';
generateSW({
globDirectory: "app/",
manifestURLs: [
"/index.html",
"/favicon.ico",
"/info.txt",
...
],
swDest
}).then(({ count, size }) => {
console.log(`Generated ${swDest}, which will precache ${count} files, totaling ${size} bytes.`);
});
Чтобы автоматически сгенерированный сервис-воркер содержал манифест, похожий на этот:
[
{
"url": "/index.html",
"revision": "487659b6e9c542e7cd8227e0e9d0bed1"
},
{
"url": "/favicon.ico",
"revision": "29459c5d9c542e7cd8227e0e9d0if83"
},
{
"url": "/info.txt",
"revision": "73932c5d9c542e7cd8227e0e9z7el19"
},
...
]
И ревизия обновляется во время сборки, когда ресурс изменяется, так что кеш становится недействительным в браузере при следующей загрузке.
Заранее спасибо!