我们最近使用Ionic + Angular PWA部署了一个生产应用程序。不幸的是,我们没有为资产* .js和* .html设置updatemode。我们已经部署了新版本的ngsw-config和ngsw.json,其中包括一种更新资产的方法。
如果用户已经在手机上安装了我们的应用程序(即主屏幕上的快捷方式)->更新ngsw-config或ngsw.json需要多长时间?
会自动更新吗?
根据https://angular.io/guide/service-worker-devops#update-checks:
每次用户打开或刷新应用程序时,Angular服务工作人员都会通过查找ngsw.json清单的更新来检查应用程序的更新。如果找到更新,则会自动下载并缓存该更新,并将在下次加载应用程序时将其提供。
这意味着您的用户下次*打开应用程序时,应该会获得更新的内容/应用程序,因为ngsw.json
服务器中有可用的新版本。
旁注:我自己还没有尝试过。我唯一不确定的是,ngsw.json
即使您Cache-Control: max-age...
在ngsw.json
文件上显式设置了标头,服务工作者是否也始终会获取新文件。我认为它将成为Angular拥有应用程序完整性的有力保证。但是,我建议您事先尝试一下。
*(关于“下一次”的注意事项)如果用户已经“添加到主屏幕”上一个版本,则当他再次打开该应用程序时,即使新版本可用,浏览器仍会呈现旧应用程序。这是因为服务工作者ngsw.json
在此期间检查是否有更新,并在后台下载更新的版本。如果用户第二次关闭并打开该应用程序,则该时间将实际呈现新版本。我已经读过某处(但我忘记了哪里),在新版本可用后,用户第一次打开应用程序时,会显示“新版本,您想刷新”消息。这个问题,所以我不会深入探讨。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句