给依赖打补丁的两种方案

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

相关推荐
鹤鸣的日常13 小时前
前端运行时动态环境变量方案
前端·react.js·docker·前端框架·vue·gitlab
Lee川13 小时前
Event Loop 面试通关:从原理到口述再到实战
前端·面试
kyriewen13 小时前
手写 call、apply、bind:从原理到实现,附 3 个最容易忽略的边界情况
前端·javascript·面试
用户21816970493013 小时前
swift (三) 枚举 结构体 类
前端
胡萝卜术13 小时前
从内存视角重新认识 JavaScript 数据类型:一份深度学习笔记
前端·javascript·面试
IVEN_13 小时前
记一次诡异的前端白屏故障:Nginx Proxy Cache 内存缓存"幽灵"事件
前端·nginx
如果超人不会飞13 小时前
TinyRobot SuggestionPills紧凑的建议按钮组组件
前端·vue.js
如果超人不会飞13 小时前
TinyRobot Container构建优雅的AI对话容器
前端·vue.js
幸运小圣14 小时前
全面解析 Web 核心性能指标:LCP、INP、CLS 是什么、怎么用、怎么看
前端
如果超人不会飞14 小时前
TinyRobot SuggestionPopover智能建议弹出框组件
前端·vue.js