为什么Vue项目在Chrome Application的Cache Storage显示为空?
在开发Vue3项目时,我按照教程配置了service worker并尝试缓存资源,但Chrome开发者工具Application面板的Cache Storage始终显示为空。明明用Network能看到资源被缓存了,这是怎么回事?
我检查了代码,service worker注册和fetch拦截都正常,但就是看不到缓存列表。这是我的相关代码:
// serviceWorker.js
self.addEventListener('fetch', (event) => {
event.respondWith(
caches.match(event.request)
.then(cacheRes => cacheRes || fetch(event.request))
)
})
尝试过清除浏览器缓存、重启服务、检查scope路径,但问题依旧。难道是Vue的缓存机制和普通service worker表现不同?或者需要开启某些特殊选项才能在Application里看到缓存?
记得在vue.config.js里确认pwa插件配置正确,特别是workbox部分要启用。改完重启项目,Application面板就能看到缓存了。