参考链接
https://www.cnblogs.com/wonyun/p/9692476.html
https://www.dazhuanlan.com/2020/02/01/5e354f97cac63/
peerdependencies
peerDependencies
可以理解为同伴依赖,它表示包和包之间的宿主关系。
举例理解:
grunt-babel
是grunt
的插件。
grunt-babel
的peerDependencies
为:
{ "peerDependencies": { "@babel/core": "^7.0.0", "grunt": ">=0.4.0" } }
这段代码的意思: grunt-babel的宿主为@babel/core和grunt,我们要使用使用这个grunt-babel需要依赖这两个包。
1. 在npm2中这个会强制下载到我们项目的node_modules中(而不是grunt-babel的node_modules中);
2. 在npm3中不会强制下载,而是会给出提示,我们的项目自己需要安装这两个依赖,如下:
npm WARN grunt-babel@8.0.0 requires a peer of @babel/core@^7.0.0 but none is installed. You must install peer dependencies yourself. npm WARN grunt-babel@8.0.0 requires a peer of grunt@>=0.4.0 but none is installed. You must install peer dependencies yourself.