1、使用场景:
当使用第三方依赖包时,发现部分效果与现在的需求有点差异,这时候就需要改源码了。经过一番操作之后(此处省略一万字),终于大功告成。并提交到小组的公共仓库中,这时候其他小组成员发现没有达到预期效果。这时候就可以借助patch-package插件,打补丁并提交到仓库,以此来解决其他小组成员代码不同步问题。
2、使用方法:
2.1 安装 patch-package 依赖。注意:目前官方只支持 npm 和 yarn下载
// 采用全局安装方式
npm install patch-package -g
或者
yarn add patch-package -g
// 采用局部安装方式
npm install patch-package -D
或者
yarn add patch-package -D
2.2 修改node_modules中对应插件的源码。
2.3 制作补丁。
// 全局安装方式制作补丁
npx patch-package package-name(其中package-name指修改插件的名称,npm版本 > 5.2)
// 局部安装方式制作补丁
yarn patch-package package-name
npm patch-package package-name
2.4 还原补丁(当其他小组成员更新代码后需操作)。
当其他小组成员更新代码后,删除该插件并重新下载,然后在项目根目录下执行patch-package即可生效。
2.5 大功告成。
补充说明:如果是第一次打补丁,则会在项目根目录下自动创建patches目录,并在其下会生成一个 package-name + version.patch 文件(eg:react+18.0.0.patch),提交代码时将其一起提交上去,与小组成员共享即可。
3、注意事项:
3.1 不要升级当前版本。 3.2 其他小组成员需删除原有依赖,重新安装生效。