修改node_modules源码 无效,node_module的依赖过大
如何优雅地修改node项目中node _ Modules的依赖库?下面这篇文章将带你优雅地修改node_modules中依赖库的方法,希望对你有帮助!
node.js速度课程简介:进入学习
最近在公司用了一个开源项目。由于业务需要(不适合MR业务修改),我需要简单修改@tencent/wuji-server-lite的源代码。package.json如下所示:
依赖项:{
@tencent/taf-config: ^2.0.4
@ Tencent/Wuji-server-lite : 2 . 0 . 30 ,
“补丁包”:^6.2.0
}一般来说,我们有两种做法:
方法一:将修改后的代码改名,重新打包提交给tnpm,然后直接引用这个新的包。
方法2:将代码副本作为本地依赖项移出node_modules。
无论是上面哪种办法,作为有代码洁癖的人来说,都觉得很别扭,我就改了某一个文件了一两行代码,却要如此臃肿的copy整个项目,更要命的是最后可能都忘了自己修改了哪里,没有diff可供追溯。
当时我咨询了几位nodejs er。在我不用nodejs的那一两年里,NodeJS有没有提供什么高层的方法来解决这个问题,比如指定node_modules中的一个文件在本地被另一个文件替换?答案是否定的。
我马上自己想出了一个npm包来解决这种问题,然后我像往常一样提前谷歌了一下,才发现原来已经有一个叫Patch-Package(https://www . NPM js . com/Package/Patch-Package)的东西了,是两年前发布的。如果不是中间做了一个吃鸡手游,可能这个库就是我最早创建的,哈哈。
既然我不需要再造一个轮子,那我就分享一下怎么用。
1.本地安装,npm i修补程序包
2.在package.json的脚本中添加{ post install : patch-package },该脚本是npm的一个钩子,将在安装完依赖包后执行。
3.修改node_modules中的代码。
4.生成修补程序,NPX修补软件包您的软件包名称
5.提交补丁后,安装包,你会发现这是你修改的结果。
最后,这个库的官网有一个非常详细的对比,描述了什么时候用补丁,什么时候分叉,非常准确:
更多关于node的信息,请访问:nodejs教程!这就是如何优雅地修改node_modules中的依赖库。更多方法详情请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。