【发布时间】:2018-04-04 00:36:38
【问题描述】:
我正在使用 Workbox 和 Webpack 在运行时在我的站点上缓存多个资产,并通过 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 是如何交付这些资产的?
- 是否有某些原因它们在缓存中不可见?
【问题讨论】:
标签: google-chrome caching service-worker progressive-web-apps workbox