如何修改node_modules的组件不被install替换?可以使用patch-package

修改 node_modules 中的组件代码存在一个天然问题:当执行 npm installyarn install 时,依赖会被重新安装,手动修改的代码会被覆盖。要解决这个问题,可以使用 patch-package 生成补丁的方式。

patch-package 能将对 node_modules 的修改生成补丁文件,并在依赖安装后自动应用补丁,确保修改不会丢失。

使用方法:

1.安装 patch-package
lua 复制代码
npm install patch-package --save-dev
# 或 yarn add patch-package --dev
2.修改 node_modules 中组件的代码

直接找到需要修改的文件(如 node_modules/xxx/xxx.vue),按需求修改。

3. 生成补丁文件

执行命令生成补丁(xxx 是你修改的包的名名称,如:uv-view):

go 复制代码
npx patch-package xxx

此时项目根目录会生成 patches/xxx+版本号.patch 文件,记录你的修改内容。

4.配置自动应用补丁

package.jsonscripts 中添加:

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

postinstall不用刻意执行,每次执行 npm install 后,会自动运行 patch-package,将补丁应用到 node_modules 中。

5.注意事项
  • 如何修改的包升级了,那么你写patch就失效了,建议锁定该包的版本;
  • 如果对组件修改的内容较多,不建议使用这个;
相关推荐
哟哟耶耶15 小时前
Starting again-02
开发语言·前端·javascript
Apifox.15 小时前
Apifox 9 月更新| AI 生成接口测试用例、在线文档调试能力全面升级、内置更多 HTTP 状态码、支持将目录转换为模块
前端·人工智能·后端·http·ai·测试用例·postman
Kitasan Burakku15 小时前
Typescript return type
前端·javascript·typescript
叁佰万15 小时前
前端实战开发(一):从参数优化到布局通信的全流程解决方案
前端
笔尖的记忆15 小时前
js异步任务你都知道了吗?
前端·面试
光影少年16 小时前
react生态
前端·react.js·前端框架
golang学习记16 小时前
从0死磕全栈之Next.js 中的错误处理机制详解(App Router)
前端
力Mer16 小时前
console.log()控制台异步打印与对象展开后不一致问题
前端·javascript
WillaWang16 小时前
Liquid:在assign定义变量时使用allow_false
前端
2401_8315017316 小时前
Python学习之Day05学习(定制数据对象,面向对象)
前端·python·学习