在脱机模式下找不到服务工作文件

kis*_*747 2 javascript apache node.js service-worker

我的网络应用程序是这样的:

我有一个在端口80上运行的Apache服务器,我的域和不同子域的虚拟主机,包括SSL的端口443.

我有一个在端口5000上运行的nodejs应用程序.

使用proxypass从apache重定向到我的主域的所有流量到nodejs.

NodeJ然后加载服务工作者.

问题:

在线模式下首次加载应用程序时,它正常工作.Shows Service worker按预期在整个域消息上注册.即使对于某些css,js和img,它也会从ServiceWorker返回响应.

但现在,当我在离线模式下打开同一页面时,服务工作者不会将其作为打开Web应用程序的一部分.

错误:1.未捕获(在承诺中)TypeError:无法获取(...).

  1. 获取service-worker文件的脚本时发生未知错误.

在这方面提供正确实施的任何帮助都会有所帮助.

Jef*_*ick 7

您的浏览器将尝试为每个导航请求重新获取与当前服务工作者相对应的JavaScript文件.您可以在此Stack Overflow答案中阅读更多相关信息.

您所看到的记录反映了以下事实:您的服务工作者的JavaScript无法获取(这是有道理的,因为您处于脱机状态).在这种情况下会发生的情况是,您的浏览器已经知道并缓存的先前JavaScript将被重用,您的服务工作者应该按预期运行.可以忽略DevTools控制台中有关无法获取服务工作者的JavaScript的噪音.

如果您发现与服务工作者本身的实际功能相关的任何故障(例如,检索缓存资源失败),则表明您的实现存在问题.但它听起来并不像是记录的内容.