部署后出现奇怪的Angular PWA服务工作人员行为

时间:2019-01-08 13:48:40

标签: angular6 angular-service-worker angular-pwa

这个问题整天都用完了,我不知道发生了什么

我可以看到我的服务工作者已注册,但是在开发人员工具中离线单击时,有时“我的域的ServiceWorker”消失了!

但这是我重新加载应用程序时遇到的主要问题。

您可以看到ngsw.json已加载两次,而main.js已加载3次! main.d3ae2084xxxx && main.bbe5073dxxxx &&然后再次main.d3ae2084xxxx!

enter image description here

如果我检查了两个ngsw.json请求的响应,您会看到它们都将main.d3ae2084xxxx显示为main.js的正确版本,但仍会加载main.bbe5073dxxxx ...

第一个ngsw.json请求

enter image description here

第二个ngsw.json请求

enter image description here

更令人沮丧的是实际加载的版本是以前的main.bbe5073dxxxx ... !!!!

如果有人对如何实现此方法有任何想法,请告诉我。

更新... 因此了解了这个出色的小终点

https://you-app-url/ngsw/state 

这将为您提供有关服务人员的许多调试信息。

就我而言

  

驱动程序状态:EXISTING_CLIENTS_ONLY(由于失败而降级   初始化:哈希不匹配(cacheBustedFetchFromNetwork):   https://dev-xxxx.net/main.eb8468bb3ed28f02d7c2.js:预期   b5601102b721e0cf777691d327dc965d40d1c96e,得到了   83c18fdb4a5942c964a31c119a57e0b8e16fe46e(缓存清除后)

因此,在我看来,这将是CDN的某种问题,当我确定知道时将以答案进行更新。

1 个答案:

答案 0 :(得分:1)

您现在可能已经解决了这个问题,但是我遇到了同样的问题,事实证明这是由于CDN(在我的实例中为Cloudflare)正在优化内容。

在Cloudflare中,关键选项是“自动缩小”,需要将其禁用。