项目中patch-package的使用
我们在引入第三方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 的修改,解决了团队协作的问题。