Вы можете использовать Cache Storage API для кэширования дополнительного контента для пользователей, помимо HTML / JS / CSS вашего веб-приложения.API Cache Storage предоставляется как веб-страницам клиента, так и сотрудникам службы в виде caches
для глобального объекта.
Например, вы можете сделать следующий вызов в коде вашего веб-приложения:
async function cacheAdditionalUrls(urls) {
const cache = await caches.open('my-custom-cache');
await cache.addAll(url);
// At this point, 'my-custom-cache' will contain all of the urls.
// You can read from this cache from the service worker.
}
А в вашем сервисном работнике вы можете прочитать из 'my-custom-cache'
, чтобы выполнить соответствующие запросы.Вы упоминаете, что используете vue-cli
плагин PWA, который построен поверх Workbox .Чтобы использовать эти кэшированные данные в Workbox, вы можете реализовать правило runtimeCaching
в конфигурации Workbox , например:
pwa: {
workboxOptions: {
// Add in other options as needed.
runtimeCaching: [{
urlPattern: new RegExp('path/prefix/for/images'),
handler: 'cacheFirst',
options: {
cacheName: 'my-custom-cache'
}
}]
}
}