给依赖打补丁的两种方案

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

相关推荐
进击切图仔9 分钟前
执行 shell 脚本 5 种方式对比
前端·chrome
局i9 分钟前
React 简单地图组件封装:基于高德地图 API 的实践(附源码)
前端·javascript·react.js
执行部之龙20 分钟前
AI对话平台核心技术解析
前端
yuki_uix23 分钟前
防抖(Debounce):从用户体验到手写实现
前端·javascript
HelloReader25 分钟前
Flutter 进阶 UI搭建 iOS 风格通讯录应用(十一)
前端
张元清26 分钟前
每个 React 开发者都需要的 10 个浏览器 API Hooks
前端·javascript·面试
HelloReader28 分钟前
Flutter ListenableBuilder让界面自动响应数据变化(十)
前端
yuki_uix28 分钟前
深拷贝:JavaScript 引用类型的完全复制之道
前端·javascript
默默学前端1 小时前
JavaScript 中 call、apply、bind 的区别
开发语言·前端·javascript
宁雨桥1 小时前
前端设计模式面试题大全
前端·设计模式