这个问题整天都用完了,我不知道发生了什么
我可以看到我的服务工作者已注册,但是在开发人员工具中离线单击时,有时“我的域的ServiceWorker”消失了!
但这是我重新加载应用程序时遇到的主要问题。
您可以看到ngsw.json已加载两次,而main.js已加载3次! main.d3ae2084xxxx && main.bbe5073dxxxx &&然后再次main.d3ae2084xxxx!
如果我检查了两个ngsw.json请求的响应,您会看到它们都将main.d3ae2084xxxx显示为main.js的正确版本,但仍会加载main.bbe5073dxxxx ...
第一个ngsw.json请求
第二个ngsw.json请求
更令人沮丧的是实际加载的版本是以前的main.bbe5073dxxxx ... !!!!
如果有人对如何实现此方法有任何想法,请告诉我。
更新... 因此了解了这个出色的小终点
https://you-app-url/ngsw/state
这将为您提供有关服务人员的许多调试信息。
就我而言
驱动程序状态:EXISTING_CLIENTS_ONLY(由于失败而降级 初始化:哈希不匹配(cacheBustedFetchFromNetwork): https://dev-xxxx.net/main.eb8468bb3ed28f02d7c2.js:预期 b5601102b721e0cf777691d327dc965d40d1c96e,得到了 83c18fdb4a5942c964a31c119a57e0b8e16fe46e(缓存清除后)
因此,在我看来,这将是CDN的某种问题,当我确定知道时将以答案进行更新。
答案 0 :(得分:1)
您现在可能已经解决了这个问题,但是我遇到了同样的问题,事实证明这是由于CDN(在我的实例中为Cloudflare)正在优化内容。
在Cloudflare中,关键选项是“自动缩小”,需要将其禁用。