npm install grunt --save-dev 中的 --save-dev (或 -D)是什么意思?

问题描述 投票:0回答:8

我刚刚开始使用Grunt。设置起来非常困难,我正在创建一个

package.json
文件。

按照这个教程,它说有3种方法来创建

package.json
文件。

首先要做的是

npm install grunt --save-dev

第一种方法是通过命令行(终端)导航到项目目录并使用 npm 安装 grunt : sudo npm install grunt –save-dev。安装后,您可以使用grunt-init任务自动生成项目特定的package.json文件。

但是

--save-dev
(短旗
-D
)是什么意思?
我尝试寻找,但徒劳无功。

node.js gruntjs npm
8个回答
344
投票

--save-dev:包将出现在您的 devDependency 中。

根据 npm install docs

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

换句话说,当你运行

npm install
时,你的项目的 devDependency 将会被安装,但是你的应用所依赖的任何包的 devDependencies 都不会被安装;此外,将您的应用程序作为依赖项的其他应用程序不需要安装您的 devDependency。仅在开发应用程序时才需要此类模块(例如 grunt、mocha 等)。

根据 package.json 文档

编辑:尝试可视化
npm install
的作用:

  • 你的项目
    • 已安装依赖项
      • 已安装依赖项
        • 已安装依赖项
        • devDependency 未安装
      • devDependency 未安装
    • dev依赖已安装
      • 已安装依赖项
      • devDependency 未安装

111
投票

您可以在 package.json 文件中指示(至少)两种类型的包依赖项:

  1. “使用”模块所需的软件包列在“依赖项”属性下。使用 npm,您可以通过以下方式将这些依赖项添加到 package.json 文件中: npm install --save packageName

  2. 帮助
  3. 开发

    模块所需的软件包列在“devDependency”属性下。这些包对于其他人使用该模块来说不是必需的,但如果他们想帮助开发该模块,则需要这些包。使用 npm,您可以通过以下方式将这些 devDependency 添加到 package.json 文件中: npm install --save-dev packageName

    
        

36
投票

npm install --production



14
投票

#1。 “依赖项”:您的应用程序在生产中需要这些包。

#2。 “devDependency”:这些包仅用于开发和测试


7
投票
npm install <package-name> --save

npm install <package-name> --save-dev
文档可以在这里找到:

https://docs.npmjs.com/getting-started/using-a-package.json#the-save-and-save-dev-install-flags

package.json

文件声明有关您正在开发的模块的元数据。上述两个命令都会修改此

package.json
文件。
--save
将声明已安装的包(在本例中为
grunt
)作为模块的依赖项;
--save-dev
将其声明为模块开发的依赖项。

问问自己:使用我的模块需要安装的软件包,还是仅在开发模块时需要?


5
投票

npm install <package_name>

default
将任何指定的包保存到依赖项中。此外,您可以使用一些附加标志来控制它们的保存位置和方式:

npm install <package_name> --no-save

防止保存到依赖项。


npm install <package_name> ---save-dev

更新包中的

devDependencies
。 这些仅用于本地测试和开发。

您可以在

in the dcu

阅读更多内容


3
投票
–保存

安装的包是核心依赖。

–保存开发

安装的包不是核心而是开发依赖项。


2
投票

    --save-dev
  • 表示在生产环境中省略,仅在开发环境中使用(更小,可能更快)。
    
        
© www.soinside.com 2019 - 2024. All rights reserved.