Skip to content

如何修改第三方依赖包源码

在实际开发中,可能会遇到第三方依赖出现BUG,提交PR等待官方修复比较耗时,此时可以考虑直接修改项目第三方依赖包的代码来解决问题比较符合实际

本文主要介绍 pnpm patchpnpm 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 也能得到修改后的代码