当前位置:网站首页 > 科技动态 > 正文

patch loader mod

问题描述

在项目中用到一个第三方库,但这个库有个bug并且已经影响到了你的项目,需要修改这个库的源码才能解决。

一般的解决方案:

  • 方案一:提issue或者pr,联系作者修改;
  • 方案二:下载该库的源码到本地 ,放在src目录,修改后手动引入
  • 方案三:fork该库的代码到自己仓库,修改后,从自己仓库安装这个插件

这三种方案都比较暴力以及繁琐,都不是最优解。最优解是通过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 patches文件夹下的文件是以package-name + version命名的文件。 删除node_module,然后重新安装依赖,检查补丁是否生效。

注意: patch是锁定版本号的,如果升级了版本,patch内容将会失效,所以要锁定package.json中的版本号。 yarn包管理器有yarn.lock文件锁定依赖版本。锁定依赖

  • 上一篇: facenet环境配置
  • 下一篇: java中常量的定义
  • 版权声明


    相关文章:

  • facenet环境配置2025-06-20 18:30:08
  • mlo教程2025-06-20 18:30:08
  • win11环境变量在哪打开2025-06-20 18:30:08
  • python opencv角点检测2025-06-20 18:30:08
  • centos7编译安装apache2025-06-20 18:30:08
  • java中常量的定义2025-06-20 18:30:08
  • 成功包括2025-06-20 18:30:08
  • git clone timed out2025-06-20 18:30:08
  • 小程序图片加载速度慢2025-06-20 18:30:08
  • apm全链路监控2025-06-20 18:30:08