为什么用patch-package
很多时候我们需要自定node_modules
里的组件,但是你直接修改,别的同事拉取代码npm安装,或者云构建,你的自定内容就拿不到。
这时候可以用patch-package
来为npm包打补丁,其他人拉取代码npm install之后,执行patch-package
命令即可将之前打的补丁应用上。
具体操作如下
1.安装patch-package
npm i patch-package -D
2.修改你需要自定的npm包
修改并运行确认效果达到预期。
3.生成补丁
执行如下命令生成补丁文件
npx patch-package packageName
其中,packageName
是你修改的依赖包的文件名,比如改了antd组件就是
npx patch-package andt
4.部署
在 package.json
的 scripts
中加入 "postinstall": "patch-package"
,后续执行 npm install 命令时,会自动为依赖包打补丁
"scripts": {
"postinstall": "patch-package"
}
5.拓展
--reverse
撤回所有补丁
Note: 如果打补丁后,补丁文件被修改过,此操作将失败,此时可以重新安装 node_modules
--patch-dir
指定补丁文件所在目录
6.总结
解决依赖bug最好办法是升级版本,但如果成本过高或升级后也并未修复,可以考虑使用依赖包补丁,它的优点:轻量,安全,便捷