1

我有一个 PWA,我试图用它来创建一个 Android 应用程序 (apk),它使用气泡包装工具 ( https://github.com/GoogleChromeLabs/bubblewrap ) 具有受信任的 Web 活动。为了检查 PWA 标准,它使用了未通过以下审计步骤(红色)的 Lighthouse:

start_url does not respond with a 200 when offline
Timed out waiting for start_url to respond.

但实际上关于当前页面离线的步骤是可以的(绿色):

Current page responds with a 200 when offline

我的 PWA 托管在一个 URL 上:https ://example.com/myapp/ 。因此服务工作者(清单)在“/myapp/”处具有启动 url 和范围。因此,如果我以离线模式访问此页面(选中开发工具“应用程序”选项卡中的“离线”框),它会提供一个离线页面,该页面在安装服务工作者时在开始时缓存(我遵循此示例:https: //developer.mozilla.org/en-US/docs/Web/API/Cache/match一切似乎都很好,我什至在我的手机上以飞行模式进行了测试)。

此外,启动页面重定向到 ?locale=en 但它是同一个网页(因此在离线模式下,每个 url 似乎都显示我的离线 html 页面)。更奇怪的是,在大约 20-30 份审计报告中,有一次通过了这一步,随机)

我正在 Mac、Chrome 84 上进行 Lighthouse 测试。

编辑: 所以我做了一些测试,我看到如果我访问http://example.com/myapp(而不是http://example.com/myapp/ - 最后有 / ),离线 html 页面不再显示。但是在清单中,范围和 start_url 被设置为“/myapp/”,所以我不知道这是否是一个问题(如果我将它们设置为“/myapp”,PWA 将不再工作,说没有该路径上的服务人员,这听起来很奇怪,因为我的码头服务器将 /myapp 重定向到 /myapp/ 两者应该是相同的资源)

4

1 回答 1

0

Bubblewrap 灯塔检查是 [Pagespeed Insights API] 的包装器。PSI API 可能有点不稳定,有时无法运行。如果失败持续存在,我建议您针对PSI运行 URL ,因为您应该获得相同的报告,但包含更详细的信息。

于 2021-02-04T10:31:18.583 回答