1.直接改node_modules的内容.....

但是下次npm i之后那个包的代码又恢复原状

2.独立维护需要改的包

把需要改的包复制下来,修改,推送到npm上。

项目里用新包即可,但是增加了维护成本

3.patch-package

使用:

1.安装

npm i patch-package

2.修改node_modules内容

3.生成patch-package(提交代码时,记得提交patch-package的内容)

npx patch-package 包名

4.在package.jsonscript中增加(npm i 包时,会把patch-package里的补丁更新到依赖包中去)

"postinstall": "patch-package"

原理

1.patches 文件的生成是在临时目录生成 package.json,下载依赖,生成一个 commit,然后把改动的代码复制过去,两者做 gif diff,就可以生成 patches 文件。

2.patches 文件的应用则是 patch-package 自己实现了它的 parse,拿到对什么文件的哪些行做什么修改的信息,之后根据不同做类型做不同的文件操作就可以了。

参考链接:https://www.cnblogs.com/TomAndJerry/p/16188389.html

最新文章

  1. SQL Server 中使用数据类型表示小数
  2. javascript组合继承
  3. win10 设置 计算机/此电脑/我的电脑 图标到桌面上
  4. Storm自带测试案例的运行
  5. 让Linux下的打印机hp1020、hp p1008自动加载固件
  6. 简单选择排序算法(C++版)
  7. markdown语法学习效果预览
  8. 【leetcode】13. Roman to Integer
  9. JavaScript DOM高级程序设计 3.-DOM2和HTML2--我要坚持到底!
  10. 简单vim配置
  11. 单页应用Scrat实践
  12. LINQ Distinct()
  13. luogu3346 诸神眷顾的幻想乡 (广义SAM)
  14. MySQL 5.7中如何定位DDL被阻塞的问题
  15. NOI.AC NOIP模拟赛 第五场 游记
  16. C#获取程序启动目录
  17. Maven3 用Maven创建第一个web项目(2)servlet演示
  18. android inflate压力泵,将视图发生整合的过程
  19. 一次JVM内存调优过程
  20. 如何使用 libtorch 实现 AlexNet 网络?

热门文章

  1. Qt-FFmpeg开发-视频播放【软解码】(1)
  2. (八) Mysql 脑图总结
  3. Spring构造函数
  4. wordpress宕机原因及处理方法
  5. STM32 I2C介绍和软件模拟I2C编程要点
  6. hdu-2544 最短路(SPFA)
  7. 微信APP支付后台配置
  8. Python 闭包,生成式,推导式
  9. pip 源修改,换国内
  10. Mac 压缩软件Keka