关于 patch-package 修改 node_modules 源码后无效的问题

使用patch-package定制node_modules 中的依赖包

Step1: 通过命令安装 patch-package

npm install patch-package --save-dev

Step2: 修改项目根目录下的 package.json 文件
在 package.json 文件中的 scripts 中加入 “postinstall”: “patch-package”
关于 patch-package 修改 node_modules 源码后无效的问题_第1张图片
Step3: 手动修改 node_modules 依赖包中的源码
关于 patch-package 修改 node_modules 源码后无效的问题_第2张图片
Step4: 手动执行命令创建 npx patch-package package-name 补丁文件
执行命令:npx patch-package package-name

执行该命令后会在项目根目录中自动创建一个 patches 文件夹,该文件夹中就会出现一个 package-name+version.patch 的补丁文件。

其中命令中的 package-name 指的是被修改的依赖包的名字(不是被修改的文件的名字)

举个例子:还是在 图1-3 中我修改的是 iview/dist/index.js 组件依赖包中众多组件中的其中一个组件中的一个文件,在 package.json 文件中包含 node_modules 中所有的依赖包

执行该命令后会在项目根目录中自动创建一个 patches 文件夹,并且该文件夹中出现一个 package-name+version.patch 的补丁文件,如图:
关于 patch-package 修改 node_modules 源码后无效的问题_第3张图片

Step5:测试补丁包是否有效
手动删除项目中的 node_modules 文件,并重新执行 npm install 命令安装 node_modules 依赖包。安装成功后查看你之前修改的 node_modules 依赖包中的文件,查看你修改的代码是否依然存在,如果之前修改代码依然存在即表明补丁文件已经生效,如果你之前修改的代码不存在即表明补丁文件没有生效,你需要从新阅读本篇文章看到底是那个环节出了问题。
Step6:若 Step5 中补丁文件测试成功后就可以将补丁文件推送到远程仓库中
这样,无论是日后自己拉取代码还是团队中其他同事拉取代码,无论 npm install 多少次该补丁文件都会生效。
关于 patch-package 修改 node_modules 源码后无效的问题_第4张图片

你可能感兴趣的:(js,前端,vue,node)