如果我尝试更改服务工作者的范围
我在公用文件夹中有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
出于安全原因,服务工作进程只能管理其自身路径以下的范围。如果您希望 csw.js 处理主机上的所有请求,则需要将其移动到根文件夹。或者,您可以在 csw.js 路径上设置 HTTP 标头Service-Worker-Allowed: /
(假设您的主机允许您这样做(