js:使用patch-package修改node_modules的文件并加入版本控制

当遇到npm包错误时,除了提交PR或等待作者修复,可以使用patch-package来临时修复。该方法包括安装patch-package,修改node_modules中的包源码,生成补丁并提交到git。在团队中,其他人只需运行patch命令即可应用补丁。但要注意,补丁与版本号绑定,升级版本后会失效,长期依赖并不推荐,最佳实践仍是向社区贡献修复。
摘要由CSDN通过智能技术生成

背景

我们日常开发中会遇到 npm 包有问题,通常的修复方法有两种
1、提交 PR 或 issue,等待作者修改
2、copy 源码到本地修改

然鹅,两种方法都不太科学,弊端太明显,那么使用 patch-package 是如何修改的。

patch-package

1、安装

yarn add patch-package -D

2、在 node_modules 找一个包修改源码,如图这里我找的 lodash 的 cloneDeep.js 文件,增加一行代码
在这里插入图片描述
3、生成补丁

npx patch-package <包名>
npx patch-package lodash

在这里插入图片描述
4、到这个一步我们已经可以把这个提交到 git 仓库了,那么别人拉下来代码怎么变成最新的代码呢?

npx patch-package

// 或

// package.json
"scripts": {
	"patch": "patch-package"
}
执行
npm run patch

执行后会发现,加的那个 console 就出来了

注意事项

1、patch 是锁定版本号的,如果升级了版本,patch 内容将会失效,最好在 package.json 能够锁定版本号。
2、魔改一时爽,但是也失去了升级的能力,提 issue 和 PR 才是正途。

参考资料

https://www.cnblogs.com/jydeng/p/14120348.html

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lvan的前端笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值