使用pnpm的patch命令打补丁(正确修改源码,在外部修改node_modules代码 )(安全扫描项目是否存在外链)

在开发时,有时碰到依赖的类库有bug或者不满足要求时

  1. 让作者改,一般不太现实和及时
  2. 使用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 axios@0.21.4

// 然后会生成一个地址
You can now edit the following folder xxxxxxxxxxx

3.打开这个地址进行更改
4.pnpm patch-commit + xxxxxxx生成的地址
最后package.json里就会有这个代码
image
文件夹下也会多打补丁的文件
image

posted @ 2022-08-22 11:33  嘿!那个姑娘  阅读(1976)  评论(0编辑  收藏  举报