给依赖打补丁的两种方案

以修改antd-table-infinity 插件为例,如图所示,要修改插件里代码

第一种方案:文件替换(不推荐)

1) 将这个文件的代码都拷贝出来,并进行修改后存在项目里,我这边是放在了polyfill文件夹下

2) 新建一个脚本文件,并编写脚本进行文件替换

3) 在package.json确定执行脚本的时机:装包后

第二种:patch-package(推荐)

1) 装patch-package包

javascript 复制代码
yarn add patch-package -D

2) 在node_modules中找到对应的包,并修改相应文件

3)执行命令

javascript 复制代码
yarn patch-package antd-table-infinity

就会看到项目里多了个patches文件夹,里面有修改前后的对比

4)修改package.json文件

使用第一种方案需要将文件全部拷贝下来,但是只需改一行代码,就很没必要;使用第二种方案完美的解决了这个问题,推荐~

注:最好在package.json里锁定版本号,以防包升级后,导致打的补丁不起作用。

相关推荐
Hello--_--World3 分钟前
Vue:虚拟Dom
前端·javascript·vue.js
vivo互联网技术43 分钟前
下一代图片格式 AVIF 在 vivo 社区的落地实践
前端·性能优化·图片压缩·avif
咸鱼翻身更入味1 小时前
Vue创建一个简单的Agent聊天
前端
布局呆星1 小时前
Vue Router 核心知识点梳理
前端·javascript·vue.js
得物技术1 小时前
基于 Harness + SDD + 多仓管理模式的 AI 全栈开发实践|得物技术
前端·人工智能·后端
不会写DN1 小时前
如何通过 Python 实现招聘平台自动投递
开发语言·前端·python
miaowmiaow1 小时前
一行命令把 PSD 还原成 HTML / React / Vue:psd2code 实战干货
前端·ai编程
张元清1 小时前
React 中的语音与摄像头输入:语音识别、媒体设备与权限
前端·javascript·面试
用户841794814561 小时前
vxe-table 实现撤销与重做:单元格编辑后支持 Ctrl+Z 回退
前端