给依赖打补丁的两种方案

以修改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里锁定版本号,以防包升级后,导致打的补丁不起作用。

相关推荐
前端 贾公子6 小时前
Eruda:移动端网页调试利器
前端·javascript·vue.js
Hashan6 小时前
Elpis:抽离业务代码,发布NPM包
前端·javascript·vue.js
quikai19816 小时前
python练习第六组
java·前端·python
用户47949283569156 小时前
0.1加0.2为什么不等于0.3-答不上来的都挂了
前端·javascript·面试
rit84324996 小时前
C#实现的远程控制系统
前端·javascript·c#
诺斯贝克6 小时前
Unable to create converter for xxx.NetworkResponse<Auth> for method AuthService
前端·后端
listhi5206 小时前
针对燃油运输和车辆调度问题的蚁群算法MATLAB实现
前端·算法·matlab
渔_6 小时前
uni-app 页面传参总丢值?3 种方法稳如狗!
前端
快被玩坏了6 小时前
二次封装了个复杂的el-table表格
前端
用户93816912553606 小时前
在TypeScript中,可选属性(?)与null类型的区别
前端