【问题标题】:How made sw-precache with network first?如何首先使用网络制作 sw-precache?
【发布时间】:2017-11-23 18:03:31
【问题描述】:
我有一个带有 sw-precache 的 PWA 网站,其序列如下:
重新加载页面
- Service Worker 应该在后台更新缓存当它的
完成后,您应该会看到新的或更新的内容可用。在里面
控制台实际可见的更改不应该是可见的,直到
下次重新加载
重新加载页面
- 这次浏览器将使用新的缓存
现在应该可见!控制台中不应有任何消息
我需要类似的,但如果文件已更新 - 将需要在首次加载页面中可见。不是在第二次加载之后。另一个(未更新)文件 - 来自缓存。
这个有可能?
因为为了看到新的变化而重复加载很不舒服。
【问题讨论】:
标签:
javascript
jquery
browser-cache
service-worker
sw-precache
【解决方案1】:
您尝试使用 runtimeCaching 选项设置适当的 URL 模式和策略(networkFirst、cacheFirst 等)以匹配这些请求。
"runtimeCaching": [{
"urlPattern": "",
"handler": "networkFirst"
}]
【解决方案2】:
global.toolbox.router.default = global.toolbox.networkFirst; // 对于所有路由
或
global.toolbox.router.get('/assets/(.*)', global.toolbox.networkFirst); // 对于一些特定的路线