npm install --save和npm install --save-dev之间的区别

时间:2015-10-10 14:59:47

标签: javascript npm

伙计我知道使用npm install -g我们可以全局安装节点模块/包,但我不确定选项--save--save-dev

我用谷歌搜索了它,但仍然不清楚它。请分享您的想法。

3 个答案:

答案 0 :(得分:12)

--save将第三方软件包添加到软件包的依赖项中。只要有人运行nom install yourPackage,它就会与软件包一起安装。

--save-dev将第三方软件包添加到软件包的开发依赖项中。当有人安装你的包时,它不会被安装。通常只有在某人克隆您的源存储库并在其中运行npm install时才会安装它。

正如同样的建议,开发依赖关系是开发包所需的那些依赖关系。这可能包括测试运行器,编译器,打包器等。

两种类型的依赖项都存储在程序包的package.json文件中。 --save dependencies添加--save-devdevDependencies添加到$GenderFrom the documentation

  

<强> devDependencies

     

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

     

在这种情况下,最好将这些附加项映射到devDependencies对象中。

     

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

     

对于非特定于平台的构建步骤,例如将CoffeeScript或其他语言编译为JavaScript,请使用预发布脚本执行此操作,并使所需的包成为devDependency。

答案 1 :(得分:3)

  • --save-dev用于保存包以用于开发目的。示例:单元测试,缩小。
  • --save用于保存运行应用程序所需的程序包。

答案 2 :(得分:0)

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