【发布时间】:2020-01-10 14:15:11
【问题描述】:
如果你转到应用程序https://quotesaboutjesus.netlify.com/quotes 并查看 Chrome 开发工具中的应用程序选项卡,几秒钟后你会看到 service worker 运行良好......并且应用程序在在线模式下运行良好。
但灯塔审计结果总是说我:
- 当前页面在离线时没有响应 200。
- start_url 在离线时没有响应 200。start_url 确实响应了,但不是通过 service worker。
- 不注册控制 page 和 start_url 的 service worker
但是正如您在我的code here 或直接在my manifest.webmanifest here 中看到的那样,我做到了(我想?:因为 Lighthouse 说我没有):
- 添加网络应用清单。
- 检查清单中的 start_url 是否正确。
- 向您的应用添加服务人员。
- 使用 service worker 在本地缓存文件。
- 离线时,使用service worker作为网络代理返回 文件的本地缓存版本。
所以我不明白为什么我没有通过审计测试(你可以自己轻松地重现它online)。
我想这可能是因为我的 SW 注册有点晚,所以我尝试优化应用程序的性能,但即使现在它的性能得分也更好(至少在审计测试期间是 90),它是没有通过这个测试。
有人可以帮我吗?
Image showing the Lighthouse error messages
【问题讨论】:
-
也许尝试将您的 start_url 更改为 /quotes
-
嗨 @Mathias 引号是 / 重定向到的位置,而不是基本 URL。但我会试一试。
-
重定向可能会导致您的问题(不确定)。通常,人们将所有东西都放在基地
-
事实上这是一个角度重定向,而不是服务器的重定向。我尝试按照您的建议更改为 /quotes,但它不能解决问题。
-
您确定上传了新清单吗?我刚查了一下,还是这个 "start_url": "/",
标签: angular progressive-web-apps lighthouse angular-pwa