Start_url 不在 ServiceWorker 的灯塔 PWA 审核范围内 "localhost"

Start_url not in ServiceWorker's scope for lighthouse PWA audit "localhost"

编辑: 如果我将 SW 注册更改为:-

navigator.serviceWorker.register('/Brotkrumen/echo.js')

我收到安装事件,但 ServiceWorker 从未就绪。

如果您 运行 我的 Brotkrumen 来自 GitHub 页面的 PWA,您将从控制台日志中看到我收到 PWA 安装事件并且一切正常(我正在写不错的安装弹出这个 w/e)。 Lighthouse 审核全绿

问题是当我 运行 来自存储库本地副本的相同代码时:-

http://localhost:3333/brotkrumen/travelmanager.html

我收到这个错误:-

这是我的清单:-

{
  "short_name": "Brotkrumen",
  "name": "Brotkrumen Web App",
  "description": "Native Background Geolocation POC",
  "icons": [
    {
      "src": "gingerbreadhouse.png",
      "sizes": "48x48 128x128 144x144 192x192 512x512",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "gingerbreadhouse.png",
      "sizes": "48x48 128x128 144x144 192x192 512x512",
      "type": "image/png",
      "purpose": "maskable"
    }
  ],
  "start_url": "/Brotkrumen/TravelManager.html",
  "background_color": "#00ccdd",
  "theme_color": "#00ccdd",
  "display": "fullscreen"
}

上面的start_url和我的Service Worker注册范围如下:-

navigator.serviceWorker.register('echo.js', { scope: './' })

这些设置是唯一适用于区分大小写的 GitHub 页面和 IIS 的组合。

带有“Brotkrumen”子文件夹的 IIS 物理路径“C:\repos”。

在这两种环境中,所有代码和 Service Worker 都按预期运行。除了 Windows\Chrome\lighthouse 发现 PWA。

区分大小写Windows???

我的错 :-( 或者,至少,我的怀疑!

唯一的“问题”是浏览器中的“b”navigation/URL栏。这适用于 Windows/IIS:-

http://localhost:3333/Brotkrumen/travelmanager.html

就这么简单。而且,在你问之前,是的,这是我尝试的第一件事,但我没有意识到 Chrome 浏览器历史记录会看到 case-insensitive“精确”匹配并将我键入的内容替换为“旧”lower-case 版本。 (而且,是的,我没有注意)一旦我从历史记录中删除“旧”url 并输入新的,所有灯塔审计都通过了。

我与 Lighthouse 达成了 bug 但他们不同意。

对我来说 Windows' 和 Chrome 的 case-insensitivity 需要 respected/honoured 和 case-INCENSITIVE 比较灯塔。 Linux/GitHub 首先找不到 sub-folder,所有其他 URL 案例检查(缓存等)都是强制执行的,所以这里没有回归?

或者Chrome区分大小写?

总之,一切都结束了。