如何修改第三方依赖包源码
在实际开发中,可能会遇到第三方依赖出现BUG,提交PR等待官方修复比较耗时,此时可以考虑直接修改项目第三方依赖包的代码来解决问题比较符合实际
本文主要介绍 pnpm patch
、pnpm patch commit
打补丁的方式来实现
场景复现:
比如我们发现第三方依赖包有BUG并且我们知道应该改哪里,但是又不想提交PR,此时就可以使用 pnpm patch
命令来打补丁
- 在命令行执行
pnpm patch packageName@version
之后命令行生成一个 packageName
的临时文件夹路径,我们点击就可以去编辑它的源代码
修改完成保存后,执行 pnpm patch commit 临时文件夹路径
然后就可以在项目看到生成了一个 patches/packageName@version.patch
的文件,同时在 package.json
中也增加了如下配置:
json
{
"pnpm": {
"patchedDependencies": {
"packageName@version": "patches/packageName@version.patch"
}
}
}
然后这就搞定了!查看 node_modules
下的依赖包的代码,修改的地方就会加上了,后续别人拿到该项目,重新 pnpm i
也能得到修改后的代码