1

在 v4 中,我们可以使用precacheManifestFilenameworkbox webpack 插件在我们的清单名称中放置一个版本,该版本被导入到 SW 中,从而对其进行版本化。既然清单已内联并删除了该选项,那么版本 SW 的新方法是什么?我可以想到一些可以在缩小后幸存下来的方法,但它们看起来很老套。我们应该对缓存名称进行版本控制吗?

4

1 回答 1

3

不应该对服务人员的文件名/U​​RL 进行版本控制。

如果您的任何webpack资产在 Service Worker 部署之间发生更改,则存储在主 Service Worker 文件中的预缓存清单中的内联信息将得到更新。当浏览器对 service worker 文件中的新内容进行逐字节检查时,更新的内联清单将触发更新流程

这将为您提供您期望的行为。

(这也是历史上预缓存清单与非webpackWorkbox 构建工具一起使用的方式,这些工具始终将清单内联在顶级服务工作人员文件中。)

于 2020-03-09T20:45:06.660 回答