如您所见,
create-react-app的配置被锁定,并且服务工作者逻辑完全在配置中定义。
如果你不想
eject,但你需要一些定制,另一种选择是修改
create-react-app生成过程中显式调用
sw-precacheCLI 后
的正常建设已经完成,覆盖
service-worker.js是
create-react-app默认生成。因为这涉及修改您的local
package.json,所以不需要
eject先执行。
有这种方法的一些信息在这里,和一般的想法是修改你的
npm脚本看起来是这样的:
"build": "react-scripts build && sw-precache --config=sw-precache-config.js"
随着
sw-precache-config.js配置根据您的需求,但包括
swFilePath: './build/service-worker.js'
确保内置文件
service-worker.js被覆盖。



