如何自定义npm包/node_modules?patch-package的使用

为什么用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.jsonscripts 中加入 "postinstall": "patch-package",后续执行 npm install 命令时,会自动为依赖包打补丁

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

5.拓展

--reverse
撤回所有补丁
Note: 如果打补丁后,补丁文件被修改过,此操作将失败,此时可以重新安装 node_modules
--patch-dir
指定补丁文件所在目录

6.总结

解决依赖bug最好办法是升级版本,但如果成本过高或升级后也并未修复,可以考虑使用依赖包补丁,它的优点:轻量,安全,便捷

你可能感兴趣的:(npm,前端,javascript)