peerDependencies 配置的是当前包被安装后需要以来宿主环境必须安装的包。如果没有,会有警告。
使用场景
比如我们想给webpack 写一个plugin插件包,我们知道这个plugin 只是满足兼容webpack 某个版本。且这个包在被安装使用的时候肯定是配合必须要安装指定版本的webpack。所以我们可以通过配置peerdependencies来告诉使用环境。当前的包是需要宿主有某个包的,否则会警告。
如果在自己项目里配置peerDependencies,在npm install 的时候peerDependencies里的依赖不会被自动安装。如果需要使用,需要自己手动单独一个个安装,或者使用
npm-install-peers 来进行自动安装。
当别人使用你这个包的时候,在npm 2.x版本的时候会自动安装上peerDependencies的依赖,在3.x后则只会警告提示。