Dan*_*ton 12 indexeddb reactjs service-worker progressive-web-apps create-react-app
因此,create-react-app 默认包含服务工作者功能,这很可爱 - 我的所有静态资产都可以开箱即用于离线使用.很酷,但现在我想更进一步,并使用indexedDB缓存一些动态内容.
问题是,没有要修改的service-worker.js文件.它在构建过程中生成.
有没有办法添加额外的逻辑,而无需弹出create-react-app或重做所有漂亮的静态缓存内容?
Jef*_*ick 12
正如您所观察到的那样,create-react-app配置被锁定,服务工作者逻辑完全在配置中定义.
如果你不想eject但你想要一些自定义,另一个选择是修改create-react-app构建过程以在正常构建完成后显式调用sw-precacheCLI ,覆盖默认生成的那个.因为这涉及到修改本地,所以不需要先进行本地修改.service-worker.jscreate-react-apppackage.jsoneject
这里有一些关于这种方法的信息,一般的想法是将npm脚本修改为:
"build": "react-scripts build && sw-precache --config=sw-precache-config.js"
Run Code Online (Sandbox Code Playgroud)
随着sw-precache-config.js 配置根据您的需求,但包括
swFilePath: './build/service-worker.js'
Run Code Online (Sandbox Code Playgroud)
确保内置service-worker.js被覆盖.
| 归档时间: |
|
| 查看次数: |
3449 次 |
| 最近记录: |