这个文档很难回答我的问题。我不明白这些解释。有人能用更简单的话说吗?如果很难选择简单的单词,可以举个例子吗?
EDIT还添加了peerDependencies,它密切相关,可能会引起混淆。
这个文档很难回答我的问题。我不明白这些解释。有人能用更简单的话说吗?如果很难选择简单的单词,可以举个例子吗?
EDIT还添加了peerDependencies,它密切相关,可能会引起混淆。
当前回答
如果不想安装devDependencies,可以使用npm install--production
其他回答
一个简单的解释让我更加清楚:
部署应用程序时,需要安装依赖项中的模块,否则应用程序将无法工作。devDependencies中的模块不需要安装在生产服务器上,因为您不是在该机器上开发的。链接
如果不想安装devDependencies,可以使用npm install--production
简言之
依赖项-npm-install<package>--save-prod在生产环境中安装应用程序所需的包。DevDependencies-npm install<package>--保存dev安装仅本地开发和测试所需的软件包只需键入npm install即可安装包.json
因此,如果您正在本地计算机上工作,只需键入npm install并继续:)
从属关系项目需要运行的依赖项,如提供从代码调用的函数的库。它们是以过渡方式安装的(如果A依赖于B依赖于C,则在A上安装npm将安装B和C)。示例:lodash:您的项目调用一些lodash函数。
devDependencies您只需要在开发或发布过程中使用的依赖项,例如将代码编译为javascript、测试框架或文档生成器的编译器。它们不是以过渡方式安装的(如果A依赖于B,则dev依赖于C,npm安装在A上将只安装B)。示例:grut:您的项目使用grut来构建自己。
对等依赖关系项目在父项目中挂钩或修改的依赖项,通常是其他库或工具的插件。这只是一个检查,确保父项目(将依赖于您的项目的项目)依赖于您所连接的项目。因此,如果你制作了一个插件C,将功能添加到库B中,那么制作项目a的人需要依赖于B,如果他们依赖于C。未安装它们(除非npm<3),只检查它们。示例:grut:您的项目为grut添加了功能,并且只能用于使用grut的项目。
本文档很好地解释了对等依赖关系:https://nodejs.org/en/blog/npm/peer-dependencies/
此外,随着时间的推移,npm文档得到了改进,现在对不同类型的依赖关系有了更好的解释:https://github.com/npm/cli/blob/latest/docs/content/configuring-npm/package-json.md#devdependencies
我想在回答中补充我对这些依赖性解释的看法
依赖项用于直接在代码库中使用,通常会在生产代码中使用,或代码块中使用devDependencies用于构建过程、帮助您管理最终代码的方式的工具、第三方测试模块(例如webpack)