【发布时间】:2018-09-28 13:03:26
【问题描述】:
我们最近推出了一个渐进式网络应用,但在发布 PWA 更新时遇到了问题。当我们推送应用程序的新版本时,我们的大部分分发 js 文件都会被重命名。
例如名为“1.ChunkName.abc.js”的文件可能会变为“1.ChunkName.def.js”。
因此,在我们发送更新之前加载 PWA 的任何用户都将使用旧版本,该版本仍在寻找旧的已删除文件,这会破坏 PWA 的大部分功能。如果用户刷新页面,这个问题是固定的,但显然我们不能期望我们的用户在遇到错误时刷新页面。
我可以看到的一些解决方案是:
- 不要删除旧文件以使旧版本仍然有效。
- 使用 service worker 检查更新。
- 不知何故使用 MQTT/WebSockets 让用户更新到最新版本。
但我觉得所有这些都有很大的缺点。
那么,如果在用户使用 PWA 期间推出更新,我如何确保用户获得无缝体验?
【问题讨论】:
标签: vue.js webpack version progressive-web-apps