使用 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包。

相关推荐
数智启示录2 小时前
PostgreSQL 计划缓存实战(第 10 篇):预编译 SQL 前五次都快,第六次为什么可能变慢
经验分享·sql·缓存·postgresql·面试
因_崔斯汀2 小时前
用 AI 生成 Three.js 沉浸式网站,代码与 Skill 均已开源
前端·人工智能
葡萄城技术团队3 小时前
一键触发工作表中所有异步函数:用依赖单元格刷新 SpreadJS 公式
前端
Bigger3 小时前
谁动了我的 URL?——记一次微前端"灵异 Bug"的排查实录
前端·ai编程·vue-router
JavaGuide3 小时前
轻量开源版 IDEA 来了!
前端·后端
张洪权3 小时前
nest.js websocket 群聊----私聊功能
前端·nestjs
流光D3 小时前
AI Era: Building Web Sites and Configuring Nginx Reverse Proxy Process
前端·人工智能·nginx
sakidd3 小时前
VS Code 的 AI Chat 现在已经这么能干了?
前端
计算机魔术师4 小时前
英伟达砸130亿美元买下一个平台,黄仁勋到底在怕什么?
前端
leoZ2314 小时前
第 2 篇:搭建地基——Vue3 + Vite + Tailwind v4 + shadcn-vue
前端·javascript·vue.js·人工智能·目标检测·数据挖掘·语音识别