react-native修改第三方包

开发的时候,用到这么多的第三方包,难免有需要修改他们内部源码的时候,当你修改之后,下次yarn、npm install之后,代码又成为未修改之前的状态了,每次都要修改一次,非常麻烦,介绍一个可以一劳永逸的方法。
社区提供了一个工具:patch-package,专门用来处理修改 node_modules 包源码的问题。

用法

修改package.json,添加最后一行: "postinstall": "patch-package",postinstall 是 npm 的钩子,会在依赖包被 install 之后被执行。

 "scripts": {
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "start": "react-native start",
    "test": "jest",
    "lint": "eslint .",
    "postinstall": "patch-package"
  },

之后安装patch-package这个库,

npm i patch-package -D

或者

yarn add patch-package postinstall-postinstall -D

注意二者是有区别的。
配置、安装好了之后,我们就可以直接修改第三方包的内容了,修改完之后,运行:

npx patch-package [package-name] 

或者

yarn patch-package [package-name]

修改完之后,项目根目录下就多出来一个patches文件夹


image.png

这样之后,以后再npm install或者yarn,都会直接用patch之后的文件,真正的一劳永逸。

推荐阅读更多精彩内容