Workbox缓存负载太大

问题描述

早上好。.我的工作箱有问题。当我将策略设置为NetworkFirst时,每次单击页面时,它都会缓存至少20MB的文件。如果我在同一页面上单击,它将再次保存至少20MB的另一个缓存。与StaleWhileRevalidate相同,但更糟。如果我使用CacheFirst,页面仅缓存1-2MB,但是如果页面上有更改,它将不会反映出来。如果我删除了旧的缓存,它将立即反映出来。

这是我的示例代码。希望你能帮我这个忙。

importScripts('https://storage.googleapis.com/workBox-cdn/releases/3.4.1/workBox-sw.js');

if (workBox) {
  const CACHE_PREFIX = 'v01';

  workBox.setConfig({
    clientsClaim: true,debug: true,skipwaiting: true
  });
  workBox.core.setLogLevel(workBox.core.LOG_LEVELS.warn);

  // Javascript and CSS rule
  workBox.routing.registerRoute(
    new RegExp('^.*(?:js|css)'),new workBox.strategies.NetworkFirst(
      { cacheName: `${CACHE_PREFIX}-asset` }
    ),);

  // Main rule - to cache everything,// i dont kNow why on this part,it wont cache CSS and JS
  // sw.js is also cached here
  workBox.routing.registerRoute(
    new RegExp('^.*(?:)'),new workBox.strategies.NetworkFirst(
      { cacheName: `${CACHE_PREFIX}-main` }
    ),);

} else {
  console.log(`Boo! WorkBox didn't load ?`);
}

如果您对我有任何缓存提示,将会很有帮助。

我的Symfony项目结构是否有帮助:

root/sw.js and manifest.json
root/js/assetic files (ex 909ab227.js)
root/css/assetic files (ex 307a9c17.css)
root/../var/cache/dev/twig/a lot of folders (ex alphanumeric.PHP)

解决方法

美好的一天..让它在我的项目上工作。

workbox.routing.registerRoute

中添加了这些代码行
new workbox.cacheableResponse.Plugin({
  statuses: [200]
})

Ⅰ仍然不知道如何在Symfony上预缓存我的资产文件。