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

背景

使用 patch-package 修改npm包uview-plus 的 index.js

希望禁用在 H5 环境下会加载所有组件的一段代码。

修改前:

修改后:

patch-package 介绍

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

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

操作步骤

安装 patch-package

js 复制代码
yarn add patch-package --dev

定位并修改文件

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

生成补丁

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

js 复制代码
npx patch-package uview-plus

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

更新 package.json

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

js 复制代码
{
  "scripts": {
    "postinstall": "patch-package"
  }
}

验证修改

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

相关推荐
BigTopOne11 分钟前
【ijkplayer】 硬解码流程
前端
kyriewen1 小时前
DeepSeek Harness开源第一天我就上手了——和Claude Code的差距比想象中大
前端·ai编程·deepseek
捡田螺的小男孩1 小时前
什么是 Skill?手把手带你写一个简单有用的 Skill!
前端·后端·程序员
sakiko_1 小时前
OC学习笔记-面试题
面试·objective-c
IT_陈寒1 小时前
Redis集群这个坑,差点让我通宵
前端·人工智能·后端
90后的晨仔1 小时前
uni-app 路由跳转与页面导航 —— 终极详解(对标 iOS / Android / 鸿蒙三端原生)
前端
Heo2 小时前
大厂前端调试不能只会debugger
前端·javascript·面试
用户2181697049302 小时前
Flutter (十七) 网络请求
前端
cidy_982 小时前
React 19 + Vite 企业级前端项目:从零搭建到规范交付
前端
用户921080262862 小时前
如何把一张图片做成自定义复杂 UI 图标
前端