【发布时间】:2019-03-07 10:26:42
【问题描述】:
我遇到了关于 Service Worker 更新的问题。我已经在生产环境中部署了我的代码,现在我们在服务工作者中进行了一些更改,在我部署到生产环境时完成更改后,我没有在设备上进行任何更改。
请帮帮我
继续上述问题...
在我所做的这个问题上花了一些时间之后,我在 queryParam 中的 serviceworker 的 url 中放置了一个版本,例如主页- var workerVersion = 'v1' 并在 sw.js?ver=workerVersion 注册。
现在在页面加载时,如果版本不同,我会使用 getRegistration() 方法检查之前注册的版本,然后首先取消注册现有工作人员并安装具有最新版本的新工作人员。
有没有更好的方法?
【问题讨论】:
-
你能分享你的代码吗?您的服务工作者中应该有一个缓存名称。当您需要移动到新版本时,您会更改名称,这应该会触发对新版本的更改。当你最初测试这个场景时发生了什么?
-
不,我不能共享代码,但是是的,我已经更改了缓存名称,我正在从服务工作者导入另一个 .js 文件,在那个 importscript js 中,我拥有所有的实现,那个 importScript 文件没有更新
标签: service-worker progressive-web-apps