我正在尝试为我的网站对服务人员做一些 POC。资产正在被缓存,但每次刷新时,缓存存储大小都会不断增加。我该如何阻止它。
这是我的服务人员代码。
importScripts('https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js');
workbox.routing.registerRoute(
/\.(?:png|jpg|jpeg|svg|gif)$/,
new workbox.strategies.StaleWhileRevalidate({
cacheName: 'image-cache',
plugins: [
new workbox.expiration.Plugin({
maxEntries: 1000,
maxAgeSeconds: 365 * 24 * 60 * 60,
})
],
})
);
workbox.routing.registerRoute(
/\.css$/,
new workbox.strategies.StaleWhileRevalidate({
cacheName: 'css-cache',
})
);
workbox.routing.registerRoute(
new RegExp('.*\.js'),
new workbox.strategies.StaleWhileRevalidate({
cacheName: 'js-cache',
plugins: [
new workbox.expiration.Plugin({
maxEntries: 200,
maxAgeSeconds: 365 * 24 * 60 * 60,
purgeOnQuotaError: true
})
],
})
);
第一次刷新时,缓存大小为 149KB,第二次为 263KB。它发生在 chrome 和 firefox 上,有时它会从最后一个值增加,有时会减少。