概述
项目中遇到个问题,需要修改源码才能解决
现在一般如下解决方案:
- fork别人的代码到自己仓库,修改后,从自己仓库安装这个插件。
- 下载别人代码到本地,放在src目录,修改后手动引入。
- 提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中的包打补丁?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复