patch-package修复npm包的bug

2022-11-20  本文已影响0人  xurna

背景

有时我们会遇到node_modules里面安装的npm包与我们的项目不兼容或者有bug,与其给官方提issue并等待官方把npm包修复,还不如我们自己动手,丰衣足食,在可以本地修复的情况下,可以使用patch-package将修改记录下来,并提交到git仓库,这样其他小伙伴也能安装修复代码,达到同步效果。

过程

  1. 项目下安装patch-packagenpm包(patch-package安装官方只支持 npm 和 yarn)
npm install -D patch-package 
  1. 进入node_modules中修复npm包
    注意: 要改动的包在 package.json 中必须声明确定的版本,不能有~或者^的前缀。
  2. 执行npx patch-package命令
    比如我修改的npm库是lodash,修改完后,执行如下命令,这时候,根目录会多出patches目录记录第三方包内容的更改。
npx patch-package lodash
  1. package.json的scripts中增加命令
{   
      "scripts": {     
          "postinstall": "patch-package"   
       }
}

这样一来,每次安装依赖的时候都会通过 postinstall 脚本自动应用 patches 的修改,解决了团队协作的问题。

  1. 最后,将修改通过git提交上去,其他人pull代码后,执行npm install,就能同步到patch-package的修改了。

其他:nrm切换npm源

  1. 安装:npm install -g nrm
  2. nrm ls
  1. 使用淘宝源
    nrm use taobao
上一篇下一篇

猜你喜欢

热点阅读