网易首页 > 网易号 > 正文 申请入驻

web前端培训怎么修改 node_modules 中的文件

0
分享至

前言

有时候使用npm上的包,发现有bug,我们知道如何修改,但是别人可能一时半会没法更新,或者是我们特殊需求,别人不愿意修改,这时候我们只能自己动手丰衣足食。那么我们应该如何修改别人的源码呢?首先,直接修改node_modules里面的文件是不太行的,重新安装依赖就没有了。一般常用办法有两个:

  1. 下载别人代码到本地,放在src目录,修改后手动引入。
  2. fork别人的代码到自己仓库,修改后,从自己仓库安装这个插件。

这两个办法的缺陷就是:更新麻烦,我们每次都需要手动去更新代码,无法与插件同步更新。如果我们要修改的代码仅仅是别人的一个小模块,其他大部分代码都不动,这时候有一个很投机的操作:利用 webpack alias 来覆盖别人代码。

更多Java –大数据 – 前端 – UI/UE - Android - 人工智能资料下载,可访问百度:尚硅谷官网(www.atguigu.com)

webpack alias 的作用

webpack alias一般用来配置路径别名,使我们可以少写路径代码:

chainWebpack: config => {

config.resolve.alias

.set('@', resolve('src'))

.set('#', resolve('src/views/page1'))

.set('&', resolve('src/views/page2'));

},

也就是说,webpack alias会替换我们写的“简写路径”,并且它对node_modules里面的文件也是生效的。这时候我们可以将别人源码里面引用模块的路径替换成我们自己的文件。

具体操作如下:

  1. 找到别人源码里面的需要修改的模块,复制代码到src目录
  2. 修改其中的bug,注意里面引用其他的文件都需要写成绝对路径
  3. 找到这个模块被引入的路径(我们需要拦截的路径
  4. 配置webpack alias

实际操作一下

以qiankun框架的patchers模块为例:

文件被引用的路径为:./patchers(我们要拦截的路径)

文件内容为:

复制内容到src/assets/patchers.js,修改其 import 路径为绝对路径,并添加我们的代码:

配置webpack alias(我用的是vue-cli4,配置文件是vue.config.js):

const path = require('path');

module.exports = {

chainWebpack: config => {

config.resolve.alias

.set('./patchers', path.resolve(__dirname, 'src/assets/patchers.js'))

更多Java –大数据 – 前端 – UI/UE - Android - 人工智能资料下载,可访问百度:尚硅谷官网(www.atguigu.com)

运行代码,控制台打印成功,表明我们已经成功覆盖别人的代码,而且别人的代码有更新时,我们也可以同步更新,只是这个模块的代码使用我们自定义的。打包之后也是可以的。

补充:使用patch-package来修改

经掘友 @Leemagination 指点,使用patch-package来修改node_modules里面的文件更方便

步骤也很简单:

  1. 安装patch-package:npm i patch-package --save-dev
  2. 修改package.json,新增命令postinstall:

"scripts": {

+ "postinstall": "patch-package"

  1. 修改node_modules里面的代码
  2. 执行命令:npx patch-package qiankun。

第一次使用patch-package会在项目根目录生成patches文件夹,里面有修改过的文件diff记录。

当这个包版本更新后,执行命令:git apply \--ignore-whitespace patches/qiankun+2.0.11.patch即可。其中qiankun+2.0.11.patch是它生成的文件名。

文章来源于稀土掘金

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
外媒爆料:台当局曾欲安排赖清德过境欧洲遭拒

外媒爆料:台当局曾欲安排赖清德过境欧洲遭拒

参考消息
2026-05-01 13:34:24
我有亚冠你没有,C罗:我有5座欧冠

我有亚冠你没有,C罗:我有5座欧冠

体坛周报
2026-05-01 13:53:12
河南郑州一对00后夫妻举办农村火锅婚礼,不收彩礼,也不要份子钱,新郎:大家开心,我们也省事,村民:这辈子没吃过这样的桌

河南郑州一对00后夫妻举办农村火锅婚礼,不收彩礼,也不要份子钱,新郎:大家开心,我们也省事,村民:这辈子没吃过这样的桌

极目新闻
2026-05-01 14:16:56
“郴州1岁男童被人入室抢走”案:和孩子朝夕相处的奶奶,一度被家人冤枉是拐走孩子的共犯

“郴州1岁男童被人入室抢走”案:和孩子朝夕相处的奶奶,一度被家人冤枉是拐走孩子的共犯

极目新闻
2026-05-01 10:47:56
2025年农民工月均收入5075元,比上年增加114元

2025年农民工月均收入5075元,比上年增加114元

新京报
2026-04-30 15:06:03
400万辅警的春天来了!劳务派遣将成历史,逐步全面直签!

400万辅警的春天来了!劳务派遣将成历史,逐步全面直签!

职场资深秘书
2026-04-30 16:31:44
只用 9 年!一半欧洲人想买中国车,北京车展德国高管冷清到扎心

只用 9 年!一半欧洲人想买中国车,北京车展德国高管冷清到扎心

青木在德国
2026-04-29 06:26:06
伊朗最高领袖致辞

伊朗最高领袖致辞

扬子晚报
2026-04-30 20:46:28
宴会上,毛主席问溥仪:传国玉玺去哪了?溥仪的回答引起一片哗然

宴会上,毛主席问溥仪:传国玉玺去哪了?溥仪的回答引起一片哗然

浩渺青史
2026-05-01 01:14:21
伊朗总统:持续推进海上封锁的行为不可容忍

伊朗总统:持续推进海上封锁的行为不可容忍

每日经济新闻
2026-05-01 09:16:47
歌手戴军自曝“怂操作”:遇到又贵又难吃的餐厅,很生气,偷偷开个小号去给差评

歌手戴军自曝“怂操作”:遇到又贵又难吃的餐厅,很生气,偷偷开个小号去给差评

鲁中晨报
2026-05-01 09:51:03
2026年一季度国企数据出炉:利润下滑5.1%,降幅明显大于收入降幅

2026年一季度国企数据出炉:利润下滑5.1%,降幅明显大于收入降幅

风向观察
2026-05-01 11:28:13
赵薇黄晓明出席北电96级同学聚会,美女帅哥一堆,班主任气质不俗

赵薇黄晓明出席北电96级同学聚会,美女帅哥一堆,班主任气质不俗

娱乐团长
2026-05-01 13:31:21
多名投资者上百万元资金无法提现,长城易趣拍爆雷调查

多名投资者上百万元资金无法提现,长城易趣拍爆雷调查

中国能源网
2026-04-25 11:43:05
江青临终前,提出去毛主席纪念堂看主席最后一眼,中央:不准她去

江青临终前,提出去毛主席纪念堂看主席最后一眼,中央:不准她去

舆图看世界
2026-04-30 15:10:04
罗永浩喊话西门子:24小时内给消费者满意答复,否则带摄制组了解情况并全程拍摄;此前网友求助称其所购洗碗机辅材未获批,售后维权无果

罗永浩喊话西门子:24小时内给消费者满意答复,否则带摄制组了解情况并全程拍摄;此前网友求助称其所购洗碗机辅材未获批,售后维权无果

大风新闻
2026-05-01 12:47:15
重重抽范明耳光,用羞耻姿势抓撒贝宁丢水里…孙杨口碑骤跌!

重重抽范明耳光,用羞耻姿势抓撒贝宁丢水里…孙杨口碑骤跌!

魔都囡
2026-05-01 08:29:48
iPhone用户为什么突然集体装VPN

iPhone用户为什么突然集体装VPN

我是一个养虾人
2026-05-01 07:00:40
沉默45年后,中国第二轮“严打”终于来了!但这次目标变了

沉默45年后,中国第二轮“严打”终于来了!但这次目标变了

吃货的分享
2026-04-30 18:52:37
5月1日起严查来了!体制内、公职人员必须严守的9条红线(解读)

5月1日起严查来了!体制内、公职人员必须严守的9条红线(解读)

金哥说新能源车
2026-05-01 08:26:32
2026-05-01 15:47:00
IT爱好者小尚
IT爱好者小尚
分享IT教育类信息
630文章数 55关注度
往期回顾 全部

科技要闻

苹果上季在华收入继续大增 iPhone收入新高

头条要闻

中国军号:日本有个致命的战略弱点 出兵就是作死

头条要闻

中国军号:日本有个致命的战略弱点 出兵就是作死

体育要闻

无奈!约基奇:这要在塞尔维亚 全队早被炒了

娱乐要闻

邓超在景德镇被偶遇,穿黑外套逛茶园

财经要闻

GPU神话松动,AI真正的战场变了

汽车要闻

限时9.67万起 吉利星越L/星瑞i-HEV智擎混动上市

态度原创

旅游
健康
本地
数码
军事航空

旅游要闻

预计暑期开园,山东首个国风机甲神话文旅项目落地德州

干细胞治烧烫伤面临这些“瓶颈”

本地新闻

用青花瓷的方式,打开西溪湿地

数码要闻

出货大涨13.1%仍不够分!Q1 硅晶圆市场冰火两重天:AI 吃饱 手机 PC跌倒

军事要闻

伊朗:持续推进海上封锁的行为不可容忍

无障碍浏览 进入关怀版