我在公用文件夹中有service-worker.js
。
当我注册服务人员时,我必须说
navigator.serviceWorker.register('./public/csw.js')
但是问题是现在服务人员的范围设置为http://localhost:2009/public
,我想捕获对http://localhost:2009/
的获取请求
的范围
navigator.serviceWorker.register('./public/csw.js',{scope:'/'})
该创建错误是因为从其他目录即root/src/index.js
的文件中调用了服务工作者
我没有使用CRA
答案 0 :(得分:3)
出于安全考虑,服务工作者只能管理a scope below its own path。如果要csw.js处理主机上的所有请求,则需要将其移动到根文件夹。或者,您可以在csw.js路径上设置HTTP标头Service-Worker-Allowed: /
(假设您的托管服务器允许这样做)