npm install --save和npm install --save-dev有什么区别?

18
大家好,我知道使用 npm install -g 可以全局安装 Node.js 模块/包,但我不确定选项 --save--save-dev 的含义。我已经在谷歌上搜索过了,但仍然不清楚。请分享您的想法。

你可以在这里找到一些信息:npm install的--save选项是什么? - il_raffa
3个回答

29

--save将第三方包添加到包的依赖项(dependencies)中。每当某人运行npm install yourPackage时,它将与该包一起安装。

--save-dev将第三方包添加到包的开发依赖项(devDependencies)中。当某人安装您的程序包时,它不会被安装。通常情况下,只有在某人克隆您的源代码库并在其中运行npm install时才会安装它。

如字面意思所示,devDependencies是仅用于开发包的依赖项,可能包括测试运行器、编译器、打包工具等。

这两种类型的依赖项存储在包的package.json文件中。--save添加到dependencies--save-dev添加到devDependencies来自文档 :

devDependencies

如果有人计划下载并在其程序中使用您的模块,那么他们可能不需要下载和构建您使用的外部测试或文档框架。

在这种情况下,最好将这些额外的内容映射到devDependencies对象中。

这些内容将在从包的根目录进行npm link或npm install时安装,并且可以像任何其他npm配置参数一样进行管理。有关此主题的更多信息,请参见npm-config(7)。

对于不特定于平台的生成步骤,例如将CoffeeScript或其他语言编译为JavaScript,请使用prepublish脚本完成此操作,并使所需包成为devDependency。

编辑:自npm 5.0.0起,默认情况下安装的模块将作为依赖项添加,因此不再需要--save选项。


感谢您的快速回复。 - Vinay Singh

7
  • --save-dev 用于保存开发所需的包,例如单元测试、代码压缩等。
  • --save 用于保存应用程序运行所需的包。

0
  1. --save-dev 会将 npm 模块保存在 package.json 的开发依赖中,即保存在 devDependencies 对象中。
  2. --save 会将 npm 模块的依赖保存在 package.json 中,即保存在 dependencies 对象中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接