【调试】如何给三方依赖添加补丁

963 阅读1分钟

pnpm-pacth

yarn patch 使用也是类似

## 给指定的软件包打补丁,该命令会将指定的软件包提取到一个临时可以编辑的目录文件中
pnpm patch <pkg name>@<version>

image.png

## 对比更改的文件,生成一个补丁包,会自动在package.json自动生成 patchedDependencies
 pnpm patch-commit <path>

打开该文件地址,在你想要的位置修改代码 image.png

目录会自动生成patches,package.json 也会自动生成patchedDependencies image.png

记录的是我刚更改文件的信息 image.png

测试 image.png

  // 移除补丁包
 pnpm patch-remove <pkg name>@<version>

patch-package

我感觉使用方式也差不多

1、安装 patch-package

yarn add patch-package postinstall-postinstall --dev
or 
npm install patch-package postinstall-postinstall --save-dev

2、修改和生成补丁

找到 node_modules 某个依赖包进行修改。运行以下命令进行修改

npx patch-package <package-name>

3、然后运行通过npm install 或者 yarn install 安装

以上的方式只能是修改node_modules, 这里面一般是构建后的产物。但实际我们需要在源码的基础上修改,一般是fork下来,修改,然后再打包,但其实打包的话,你需要特别了解它

覆盖原先的包

npm   overrides (>= 8.3.0)
yarn   resolutions
pnpm   overrides