我是靠谱客的博主 丰富冥王星,最近开发中收集的这篇文章主要介绍如何给node_module中的包打补丁?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

项目中遇到个问题,需要修改源码才能解决

现在一般如下解决方案:

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

这三种方案都比较暴力以及繁琐,都不是最优解

最优解:patch-package

1.安装patch-package

npm install patch-package --save-dev

或者

yarn add patch-package postinstall-postinstall(npm安装不需要postinstall-postinstall依赖)

2.修改package.json文件,增加命令

 "postinstall": "patch-package"

3.修改node_modules中源码 

稍后举有栗

4.手动执行命令创建补丁文件

npx patch-package package-name

至此: 补丁文件生成了,根目录下面会多一个文件夹:patches

文件下面是以package-name + version 命名的文件

例子说明:鲁大师源码来一波

这里修改loadsh.cloneDeep

使用cloneDeep

 找到cloneDeep在node_modules中的源码部分并修改

 页面呈现

 

开始打补丁 

运行`npx patch-package lodash`

 出现这句话就说明打补丁成功了

查看补丁

根目录下面多出一个文件夹

 还原源码修改

 npx patch-package

 源码还原之后,发现我们添加的输出依然存在,说明我们给鲁大师补丁成功了

至此:就是给源码打补丁

注意:

patch是锁定版本号的,如果升级了版本,patch内容将会失效,所以要锁定package.json中的版本号。

最后

以上就是丰富冥王星为你收集整理的如何给node_module中的包打补丁?的全部内容,希望文章能够帮你解决如何给node_module中的包打补丁?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部