patch-package
文档地址
它将patches在您的应用程序的根目录中创建一个名为的文件夹。里面将是一个名为 或其他东西的文件,这是普通旧版本和您的固定版本package-name+0.44.0.patch之间的差异 。package-name提交此内容以与您的团队共享修复。它能记录第三方库代码的改动,另一方面也能将改动同步到团队每个成员。
使用场景
在项目中组件库的无法满足定制化的需求,需要更改组件库源码,但修改组件库源码会影响团队,我们必须给团队其他成员同步。避免繁琐操作,patch-package 我们只需要执行npm patch-package我们修改的包名,然后在package.json中添加命令,团队其他成员只需要在安装完依赖后执行npm patch即可,patch会开始给我们修改的依赖打补丁。
使用方法
- 首先更改 node_modules 文件夹中特定包的文件,然后运行yarn patch-package package-name 或使用 npx(包含在 中npm > 5.2)npx patch-package package-name
- 随后我们在package.json的scripts中增加如下内容:
{
"scripts": {
"postinstall": "patch-package"
}
}
这样一来,每次安装依赖的时候都会通过 postinstall 脚本自动应用 patches 的修改.