我正在使用带有 Webpack 的 Workbox 在运行时在我的站点上缓存多个资产,并使用 Service Worker 交付它们。我能够在缓存存储中成功查看来自外部 CDN 的图像,并确认它们是通过 SW 交付的。
但是,当涉及到 JS 和 CSS 文件等本地托管(同源)资产时,它们的命名缓存显示为空。加载页面后,这些资产被交付(from ServiceWorker)
,并且没有来自 SW 的额外网络请求。刷新缓存存储或缓存本身并没有什么不同。
这是 Webpack 配置:
new GenerateSW({
include: [],
runtimeCaching: [{
urlPattern: /.*javascript.*/,
handler: 'cacheFirst',
options: {
cacheName: 'js',
cacheableResponse: {
statuses: [0, 200],
},
},
}],
}),
- 如果这些资产没有出现在缓存中,它们是如何由 SW 交付的?
- 是否有某种原因它们在缓存中不可见?