sw-toolbox无法在gh-pages

时间:2017-03-01 20:21:44

标签: angularjs github-pages service-worker sw-toolbox

我制作了一个简单的AngularJS待办事项应用程序并使用了sw-toolbox。它在我的本地主机上工作正常,但是当我在gh-pages上使用它时,控制台上几乎没有404错误,服务工作者在获取脚本时也显示404错误。

DEMO

CODE

2 个答案:

答案 0 :(得分:0)

抛出错误 TypeError:无法注册ServiceWorker:获取脚本时收到了错误的HTTP响应代码(404)。 ,告诉我们SW脚本本身从未被发现。浏览器尝试获取脚本,但由于返回了404,因此无法访问。

非常简单的错误。您的应用尝试从https://viveksharma619.github.io/sw.js注册sw.js文件,而该文件实际位于https://viveksharma619.github.io/PWA_simple_to_do/sw.js

这里的邪恶是/sw.js - 在你的计算机上你可能在localhost中运行该站点:8080当/sw.js是真正的位置但是现在应用程序存在于PWA_simple_to_do文件夹中并且sw.js脚本应该是“sw.js”(当前文件夹)或/PWA_simple_to_do/sw.js指向的

答案 1 :(得分:0)

由于gh页面是使用jekyll托管的,因此jekyll版本3.3默认忽略node_modules和供应商文件。因此,当你从gh-pages中提取时,你不会得到它们。它将改为为sw-toolbox.js记录“无法加载资源”。

您可以通过在github存储库的根目录中添加一个简单的 .nojekyll 文件来绕过这一点,您的代码就可以正常运行。