背景:
开发时,当第三方库没有实现想要需求,或者想要样式。
这里一般能想到可以直接修改node_modules的源代码,但是这样不利于协作开发。
本质上,要修改依赖,是为了扩展现有的功能,填补需求,这就类似于打补丁了。
学习研究后,patch-package可以帮助解决这个问题。
例子:
以element-plus为例:修改badge组件最大值的 " + "号*
2024/8/13大约 2 分钟
开发时,当第三方库没有实现想要需求,或者想要样式。
这里一般能想到可以直接修改node_modules的源代码,但是这样不利于协作开发。
本质上,要修改依赖,是为了扩展现有的功能,填补需求,这就类似于打补丁了。
学习研究后,patch-package可以帮助解决这个问题。
以element-plus为例:修改badge组件最大值的 " + "号*
npm install后,先根据npmrc 确定npm的配置(项目级---> 用户 ---> 全局 )
检查package.json和package-lock.json
2.1 如果没有构建过:获取包信息,以广度优先的算法扁平化构建依赖树,
2.2 如果构建了:检查两者版本是否一致:一致则到第三步。不一致根据package.json去下载资源+ 更新 lock的版本信息。
检查缓存,没有则从镜像下载资源,添加缓存+更新缓存信息到package-lock.json。