Service Worker 在尝试加载时出现获取错误 --- 我的网站?

Service Worker Fetch Error When Trying to Load --- My Website?

我最近将 Cloudfront 添加到我的网络应用程序中。我正在使用 WorkBox 服务工作者并收到错误:

VM7 workbox-strategies.prod.js:1 Uncaught (in promise) TypeError: Failed to fetch

我从 中了解到要查看“网络”选项卡以找出导致问题的资源。

我检查了一下发现 -- 它正在尝试加载我自己的域!

域在浏览器中加载正常。为什么 Service Worker 会抛出这个获取错误?

您看到的是 Chrome 89+ 中的 new offline support detection

如果您的网站有网络应用程序清单和服务工作者,Chrome 将自动模拟离线连接,然后为您的网络应用程序清单中列出的 start_url 发出请求。

如果您的 service worker 使用网络优先策略来响应导航请求,那么网络面板中可能会记录失败的网络请求,即使检查最终由于缓存的响应而成功。

(Chrome DevTools 团队意识到这可能有点令人困惑,并且正在努力改进向开发人员报告的方式。)