服务工作进程范围不匹配



我在公用文件夹中有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: /(假设您的主机允许您这样做(

最新更新