node_modules修改?
1.直接改node_modules的内容.....
但是下次npm i
之后那个包的代码又恢复原状
2.独立维护需要改的包
把需要改的包复制下来,修改,推送到npm上。
项目里用新包即可,但是增加了维护成本
3.patch-package
使用:
1.安装
npm i patch-package
2.修改node_modules内容
3.生成patch-package(提交代码时,记得提交patch-package的内容)
npx patch-package 包名
4.在package.json
的script
中增加(npm i 包时,会把patch-package里的补丁更新到依赖包中去)
"postinstall": "patch-package"
原理
1.patches 文件的生成是在临时目录生成 package.json,下载依赖,生成一个 commit,然后把改动的代码复制过去,两者做 gif diff,就可以生成 patches 文件。
2.patches 文件的应用则是 patch-package 自己实现了它的 parse,拿到对什么文件的哪些行做什么修改的信息,之后根据不同做类型做不同的文件操作就可以了。
参考链接:https://www.cnblogs.com/TomAndJerry/p/16188389.html