背景

我们日常开发中会遇到 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

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐