利用pnpm patch给第三方库打补丁

如果在使用第三方库的时候, 发现bug, 但是等不了官方补丁, 可以使用pnpm patch给第三方库打补丁来解决, 类似 git diff, 操作如下:

package.json所在目录的命令行执行

bash 复制代码
pnpm patch @jiaminghi/data-view

执行完这个命令后会生成临时文件夹 供你编辑, 然后开始编辑这个临时文件夹里的代码, 编辑保存 完后, 执行pnpm patch-commit xxx(如截图所示, 命令行会给出提示, 直接复制执行即可),

执行完命令会在package.json 所在目录生成patches 文件夹, 里面放的就是patch补丁文件.

最后,在package.json加上配置:

bash 复制代码
 "pnpm": {
    "patchedDependencies": {
      "@jiaminghi/data-view@2.10.0" : "patches/@jiaminghi__data-view.patch"
    }
  }

下次执行pnpm install的时候就会自动打上补丁!

PS: 最好关闭vscode后在命令行中执行以上操作, 不然可能提示文件无法删除错误:

bash 复制代码
pnpm patch-commit: EBUSY: resource busy or locked, rmdir
相关推荐
AI3D_WebEngineer1 天前
企业级业务平台项目设计、架构、业务全解之组件库篇
前端·javascript·vue
木子李BLOG1 天前
vue.js设计与实现(待续)
vue
悟能不能悟2 天前
reason: unable to verify the first certificate 如何处理
vue
!win !2 天前
通过重写组件轻松掌握用JSX写Vue项目
vue·jsx
这是个栗子3 天前
【问题解决】用pnpm创建的 Vue3项目找不到 .eslintrc.js文件 及 后续的eslint配置的解决办法
javascript·vue.js·pnpm·eslint
zy happy3 天前
RuoyiApp 在vuex,state存储nickname vue2
前端·javascript·小程序·uni-app·vue·ruoyi
小阳生煎3 天前
Vue实现全局设置一个刷新按钮 只刷新当面路由页面 不跳转操作功能
vue.js·vue
Zzzzzxl_3 天前
互联网大厂前端面试实录:HTML5、ES6、Vue/React、工程化与性能优化全覆盖
性能优化·vue·es6·react·html5·前端面试·前端工程化
李慕婉学姐4 天前
【开题答辩过程】以《基于微信小程序垃圾分类图像识别技术实现》为例,不会开题答辩的可以进来看看
spring boot·微信小程序·vue
故事不长丨4 天前
【Java SpringBoot+Vue 实现视频文件上传与存储】
java·javascript·spring boot·vscode·后端·vue·intellij-idea