在开发时,有时碰到依赖的类库有bug或者不满足要求时
- 让作者改,一般不太现实和及时
- 使用patch-package打补丁,安装依赖后自动打上修改的内容
在pnpm7.4(pnpm高效npm版本管理工具)版本以后pnpm添加了pnpm patch和pnpm pathc-commit,支持给依赖打补丁。
流程:通过pnpm patch xxx依赖@xxx版本
命令拷贝一份依赖库的文件项目,然后用户对该拷贝的项目进行修改,然后通过提供的命令pnpm patch-commit +xxx路径
对修改后的代码以及原来的代码进行diff,生成一个xxx.patch的文件,对应项目的package.json会有个pnpm.patchedDependencies字段来指向patch文件,之前其他人安装依赖后,会自动使用到该patch
比如要更改axios里面的代码
1.pnpm i axios
2.
// @后面是axios版本
pnpm patch [email protected]
// 然后会生成一个地址
You can now edit the following folder xxxxxxxxxxx
3.打开这个地址进行更改
4.pnpm patch-commit + xxxxxxx生成的地址
最后package.json里就会有这个代码
文件夹下也会多打补丁的文件