参考原文:
面试官:如果一个NPM包部分功能不满足需求,如何修改其部分功能https://juejin.cn/post/7355383157556019239
通过补丁文件修改node_modules的包文件,可以将补丁文件上传,其他同事安装时自定执行补丁修改源码,可以减少手动修改源码的时间维护成本及效率。
1. 安装:
npm install patch-package postinstall-postinstall --save-dev
2. 添加scripts脚本:
将 "postinstall": "patch-package" 添加到package.json的scripts中,在执行npm install安装包时会自动执行补丁。
3. 修改源码:
根据自身需要注释掉一行源码:
4. 生成补丁文件:
// 在终端执行:
// zrender是修改的包名称
npx patch-package zrender
此时会在根目录下,生成名为 patches 的补丁文件,补丁文件里会显示修改的文件目录、修改内容等信息,此时就可以将此文件上传到仓库:
5. 验证:
- 将node_modules包删除;
- 重新 npm install。
可以看到,新安装的包文件已经自动修改源码了。