【问题标题】:Strange Angular PWA Service worker behaviour when deployed部署时奇怪的 Angular PWA 服务工作者行为
【发布时间】:2019-06-03 05:30:50
【问题描述】:

这个问题已经占据了我一整天,我不知道发生了什么

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

但这是主要问题,当我重新加载应用程序时,我看到以下行为。

可以看到ngsw.json被加载了2次,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 

这将为您提供有关您的 Service Worker 的大量调试信息。

在我的情况下

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

所以在我看来这将是某种 CDN 问题,当我确定时会更新答案。

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2021-08-26
      • 2014-12-31
      • 1970-01-01
      • 2019-12-21
      • 2019-07-05
      • 1970-01-01
      • 2020-09-24
      • 2018-05-24
      • 1970-01-01
      相关资源
      最近更新 更多