使用 patch-package 打补丁修改 npm 包

282 阅读1分钟

背景

使用 patch-package 修改npm包uview-plus 的 index.js
希望禁用在 H5 环境下会加载所有组件的一段代码。

修改前: image.png

修改后: image.png

patch-package 介绍

patch-package 是一个 npm 包,允许开发者为已安装的 npm 包创建补丁文件。这样,我们可以轻松管理对这些包的修改,而不会在每次安装依赖时丢失我们的更改。补丁文件存储在项目中(提交到git),并且可以在每次运行安装命令时自动应用。

主要目的就是替代人工修改npm包。同时方便其他人拉取代码安装依赖后文件不一致问题。

操作步骤

安装 patch-package

yarn add patch-package --dev

定位并修改文件

进入 node_modules/uview-plus 目录,找到 index.js 文件。在这个文件中,找到加载所有组件的相关代码,并将其注释掉。修改完成后,保存文件。

生成补丁

在项目根目录下运行以下命令来生成补丁:

npx patch-package uview-plus

这一步会在根目录下生成patches目录,需要把这个目录提交到git。

image.png

更新 package.json

为了确保补丁在每次安装依赖时都能自动应用,需要在 package.json 中添加一个 postinstall 脚本:

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

验证修改

运行 yarn install 或者 npm installpatch-package 将自动应用补丁修改npm包。