patch-package 修改node_modules里面的源码

993 阅读1分钟

以前修改node_modules常用方式有几种:

1.把源码完整拷出来,放到静态资源里面。弊端:项目代码臃肿,修改几行几行源码就要拷过来整个包。
2.使用webpack拦截引用路径。弊端:需要配置webpack,并且需要设置引用与被引用的路径。(此方法没有试过)
3.自己重新发布npm包或者fork源码到自己的github。弊端:安装依赖的时候需要指定路径。 昨天看到有这么一个patch-package用起来还挺方便的。以下是使用步骤:

1.安装patch-package

npm i patch-package --save-dev  // npm安装
yarn add --dev patch-package postinstall-postinstall // yarn安装

2.创建补丁

先按照自己的需求修改源码,然后运行以下命令。会自动生成package-name+version.patch的补丁文件。

npx patch-package package-name // npm创建
yarn patch-package package-name // yarn创建

3.设置钩子,每次安装完依赖的时候都会执行该命令。在package.json配置:

"scripts": {
  "postinstall": "patch-package"
}