dependencies(依赖):
dependencies 指的是一个包在正常运行时所需的依赖关系。这些依赖关系是包本身所需的,通常是包的作者在开发包时指定的。例如,如果你开发一个 Web 应用程序,可能会依赖于 React 库来渲染 UI 组件。
devDependencies(开发依赖):
devDependencies 指的是一个包在开发和测试时所需的依赖关系。这些依赖关系通常是开发者在开发和测试包时使用的工具,例如代码格式化工具、测试框架等。在生产环境中,这些依赖关系通常是不需要的。
peerDependencies(对等依赖):
peerDependencies 指的是一个包对另一个包的依赖关系,但这种依赖关系并不是包本身所需的,而是由使用者来确定的。peerDependencies 通常用于插件系统、兼容性和避免重复安装等场景。
对等依赖有什么作用:减少打包的体积:例如使用react开发的组件库,安装react是必不可少的,而使用组件库的开发者,本地项目肯定安装了react,因此开发的组件库中不必把react打包进去(期望项目的使用者来提供这些模块的实现)。
版本一致性:使用你的组件库的开发者需要确保他们项目中安装了与你声明的对等依赖版本兼容的包,以确保组件库正常运行。
例子:声明要使用组件库,需在项目中安装大于17.0.1版本的react
"peerDependencies": {
"react": ">17.0.1"
}
评论区