使用服务工作者时如何在每次刷新时停止增加缓存

问题描述

我正在尝试为网站的服务人员做一些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,purgeOnQuotaError: true
        })
      ],})
);

第一次刷新时,缓存大小为149KB,第二次为263KB。它发生在Chrome和Firefox中,有时会从最后一个值开始增加或减少。

enter image description here

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)