在 package.json
中平时常用的有字段有 dependencies
和 devDependencies
,但 peerDependencies
平时都没咋看到过,今天具体讲讲 peerDependencies 的作用
一、什么是对等依赖
peerDependencies
可以翻译为“对等依赖”或“同行依赖”。这个术语在 npm 包管理中用来指代那些不应该由当前包直接安装,而是由项目的使用者安装的依赖包。这种方式主要用于插件系统或库,确保所有相关组件都使用相同版本的依赖。
二、对等依赖的特点
- 由项目使用者安装:对等依赖不是由当前包自动安装的,而是由项目的使用者在他们的项目中安装。
- 确保兼容性:通过指定对等依赖,可以确保当前包与项目的其他部分使用相同版本的依赖,避免版本冲突。
- 减少重复安装:避免在每个依赖包中重复安装相同的依赖,从而减少项目的总体大小。
- 明确依赖关系:向项目使用者明确指出他们需要安装哪些依赖,以便正确使用当前包。
三、举个🌰
如果你开发一个库是一个基于dayjs开发的时间库,比如想做10分钟前,3小时前,1天前这种功能,基于dayjs做的,取名timejs,把 peerDependencies
里写了dayjs,那这时候,如果你有一个项目需要引入timejs,如果这个项目本身有dayjs,就不会再安装dayjs,如果没有dayjs,就会安装dayjs。