部署 PWA 问题

Deploy PWA problems

我一直在阅读此处有关 PWA 部署的所有线程,并且 none 的修复程序正在运行。

我有一个 Python Web 应用托管在 python 上的任何地方,我想将其部署为 PWA。

当我将 manifest.json 添加到我的根文件夹并在 index.html 文件中使用以下内容引用它时:

<link rel="manifest" href="./manifest.json" />

我收到以下错误:

manifest error

如果我随后将我的清单文件移动到我的 /assets 文件夹并将 index.html 中的 href 更新为:

<link rel="manifest" href="/assets/manifest.json" />

我的清单开始工作 - 然后我收到服务工作者不匹配的错误:

Service worker error in Manifest

我在我的根文件夹中测试了我的服务工作者,与上面的清单相同的问题,我已经将我的服务工作者移动到我的 /assets/ 文件夹并设置我的 index.html 文件来读取这个:

<script>
  if ('serviceWorker' in navigator) {
    window.addEventListener('load', ()=> {
      navigator
      .serviceWorker
      .register('/assets/sw01.js')
      .then(()=>console.log("Ready."))
      .catch(()=>console.log("Err..."));
    });
  }
</script>

我的服务人员在 chrome 中显示它是 运行:

Service Worker running

但是我的清单显示没有匹配的服务工作者。

补充信息:

如有任何帮助,我们将不胜感激!

这是一个服务工作者范围问题,与

如果你从 /assets/sw01.js 为你的 service worker 服务,它无法控制 /。你应该将你的 service worker 移到顶层,比如 /sw01.js.