![](/img/trans.png)
[英]How to modify auto generated service-worker in Create-React-App
[英]Add more service-worker functionality with create-react-app
因此,create-react-app 默认包含服务工作者功能,这很可爱 - 我的所有静态资产都可以开箱即用于离线使用。 很酷,但现在我想更进一步,并使用indexedDB缓存一些动态内容。
问题是,没有要修改的service-worker.js文件。 它在构建过程中生成。
有没有办法添加额外的逻辑,而无需弹出create-react-app或重做所有漂亮的静态缓存内容?
正如您所观察到的, create-react-app
的配置被锁定,服务工作者逻辑完全在配置中定义。
如果你不想eject
但你想要一些自定义,另一种选择是修改create-react-app
构建过程,以便在正常构建完成后显式调用sw-precache
CLI,覆盖create-react-app
的service-worker.js
create-react-app
默认生成。 因为这涉及修改本地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
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.