通过patch-package创建补丁修改node_modules依赖下的源码

通过patch-package创建补丁修改node_modules依赖下的源码

前几天一个月薪35k的兄弟,给我推了一个人工智能学习网站,看了一段时间挺有意思的。包括语音识别、机器翻译等从基础到实战都有,很详细,分享给大家。

简述

node_modules下是依赖源码,打包的时候是不会打包进去的。但有时候我们需要修改依赖的源码,这个时候,其他人使用npm install会拉取最新的依赖,而把修改的源码覆盖。

解决

1、将整个库提到node-modules外面来,但是这样会使项目十分的臃肿
2、将这部分源码提出来重新封装,这个方法不错,但是需要一定的时间成本,也不太理想
3、这里推荐使用patch-package创建补丁的方法,通过这种方法后,别人使用npm install,就不会有覆盖的风险了。

1、安装patch-package

// 开发测试环境
npm install patch-package --save-dev

// 生产环境
npm install patch-package --save

–save 和 --save-dev简述

2、修改node_modules源码

3、在package.json,将scripts中加入"postinstall": “patch-package”,这个是为了npm install的时候自动为依赖包打上我们改过的依赖

"scripts": {
    "postinstall": "patch-package"
 },

4、修改完依赖后,创建补丁

npx patch-package 依赖名称

// 例如
npx patch-package echarts

这个时候,根目录下会创建一个叫patches的文件,下面的文件就是补丁文件,里面是你修改依赖的最新源码。
在这里插入图片描述
将node_modules删掉,使用npm i 重新安装依赖,再次打开你修改的地方,就会发现并没有被覆盖。

参考:https://zhuanlan.zhihu.com/p/453771807
githab:https://github.com/ds300/patch-package

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值