如何解决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上预缓存我的资产文件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。