小编典典

通过create-react-app添加更多服务工作者功能

reactjs

因此,create-react-app 在默认情况下包括service worker功能,这很可爱-
我所有的静态资产都被缓存起来以供离线使用。很酷,但是现在我想进一步介绍一下,并使用indexedDB缓存一些动态内容。

问题是,没有要修改的service-worker.js文件。它在构建过程中生成。

有没有一种方法可以添加其他逻辑而无需弹出create-react-app或重做所有不错的静态缓存内容?


阅读 295

收藏
2020-07-22

共1个答案

小编典典

如您所见,create-react-app的配置被锁定,并且服务工作者逻辑完全在配置中定义。

如果你不想eject,但你需要一些定制,另一种选择是修改create-react-app生成过程中显式调用sw-precacheCLI
的正常建设已经完成,覆盖service-worker.jscreate-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被覆盖。

2020-07-22