1

我正在尝试为我的网站对服务人员做一些 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 上,有时它会从最后一个值增加,有时会减少。

在此处输入图像描述

在此处输入图像描述

4

0 回答 0