Angular PWA ngsw-config updateMode-什么时候在用户的PWA上更新?

时间:2019-12-08 06:25:23

标签: angular ionic-framework

我们最近使用Ionic + Angular PWA部署了一个生产应用程序。不幸的是,我们没有为资产* .js和* .html设置updatemode。我们已经部署了新版本的ngsw-config和ngsw.json,其中包括一种更新资产的方法。

如果用户已经在手机上安装了我们的应用程序(即主屏幕上的快捷方式)->他们的ngsw-config或ngsw.json更新需要多长时间?

它会自动更新吗?

1 个答案:

答案 0 :(得分:0)

根据https://angular.io/guide/service-worker-devops#update-checks

  

每次用户打开或刷新应用程序时,Angular服务工作人员都会通过查找ngsw.json清单的更新来检查应用程序的更新。如果找到更新,则会自动下载并缓存该更新,并在下次加载应用程序时将其提供。

这意味着您的用户下次打开应用程序时,应该会获得更新的内容/应用程序,因为服务器中提供了ngsw.json的新版本。

旁注:我自己还没有尝试过。我唯一不确定的是,即使您在ngsw.json文件上显式设置了Cache-Control: max-age...标头,服务工作者是否也总是获取新的ngsw.json文件。我认为它将如此,因为Angular拥有strong guarantee的应用程序完整性。但是,我建议您事先尝试一下。

*(有关“下一次”的注意事项),如果用户已经“添加到主屏幕”上一个版本,则当他再次打开该应用程序时,即使新版本可用,浏览器仍会呈现旧应用程序。这是因为服务工作者这次在{em> 期间检查ngsw.json的更新,并在后台下载更新的版本。如果用户第二次关闭并打开该应用程序,则该时间将实际呈现新版本。我已经读过某处(但我忘了在哪里)“ ”有可用的新版本,您想刷新吗?消息可以在用户有新版本可用后首次打开该应用程序时显示,但这不在这个问题的范围内,所以我不会深入探讨。