我们在引入第三方node_modules 时候难免会碰到modules中有bug 或者其他原因需要修改,这个时候我们可以使用patch-package

首先,我们能想到的思路是直接修改第三方库的代码,不过这会带来团队协作的问题,你的改动需要同步到团队所有成员,比较麻烦。

好在,我们可以使用patch-package这个库来解决这类问题。一方面,它能记录第三方库代码的改动,另一方面也能将改动同步到团队每个成员。

patch-package 官方只支持 npm 和 yarn,这里我们来安装一下相应的包:

npm install patch-package -D

注意: 要改动的包在 package.json 中必须声明确定的版本,不能有~或者^的前缀。

接着,我们进入第三方库的代码中进行修改,先修改你想要修改的代码,再在命令行输入:

//这里我修改的是sass
npx patch-package sass

现在根目录会多出patches目录记录第三方包内容的更改,随后我们在package.json的scripts中增加如下内容:

{
  "scripts": {
    "postinstall": "patch-package"
  }
}

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

标签: none

添加新评论