我制作了一个简单的 AngularJS 待办事项应用程序并使用了 sw-toolbox。它在我的本地主机上运行良好,但是当我在 gh-pages 上使用它时,控制台上几乎没有抛出 404 错误,并且服务工作者在获取脚本时也显示 404 错误。
2 回答
由于 gh 页面是使用 jekyll 托管的,因此 jekyll 3.3 版默认忽略 node_modules 和供应商文件。因此,当您从 gh-pages 中获取它们时,您不会得到它们。相反,它将为 sw-toolbox.js 记录“加载资源失败”。
你可以通过将一个简单的.nojekyll文件添加到你的 github 存储库的根目录来绕过这个,你的代码就可以正常工作了。
抛出的错误TypeError: Failed to register a ServiceWorker: A bad HTTP response code (404) was received when fetch the script. , 告诉我们从未找到 SW 脚本本身。浏览器尝试获取脚本,但由于返回 404 无法获取。
很简单的错误。您的应用程序尝试从https://viveksharma619.github.io/sw.js注册 sw.js 文件,而它实际上位于https://viveksharma619.github.io/PWA_simple_to_do/sw.js
这里的邪恶是 /sw.js - 在您的计算机上,当 /sw.js 是真实位置时,您可能在 localhost:8080 中运行该站点,但现在该应用程序位于 PWA_simple_to_do 文件夹中,并且应该指向 sw.js 脚本“sw.js”(当前文件夹)或 /PWA_simple_to_do/sw.js