服务人员范围不匹配

时间:2019-12-17 12:43:04

标签: reactjs service-worker

我在公用文件夹中有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

1 个答案:

答案 0 :(得分:3)

出于安全考虑,服务工作者只能管理a scope below its own path。如果要csw.js处理主机上的所有请求,则需要将其移动到根文件夹。或者,您可以在csw.js路径上设置HTTP标头Service-Worker-Allowed: /(假设您的托管服务器允许这样做)