-save-dev在npm install grunt是什么意思--save-dev

我刚刚开始使用Grunt.js设置起来非常困难,我正要创建package.json文件。

在学习完本教程之后,它说有3种创建package.json文件的方法。

首先是要做 npm install grunt --save-dev

但是什么--save-dev意思呢?我试着看,但徒劳无功。

小胖Tony2020/03/19 12:37:46

对我来说,第一个答案似乎有点令人困惑,因此请简短明了:

npm install <package_name>默认将所有指定的包保存到依赖项中此外,您可以使用一些其他标志来控制在何处以及如何保存它们:

npm install <package_name> --no-save 防止保存到依赖项。

npm install <package_name> ---save-dev更新devDependencies您包中的。这些仅用于本地测试和开发。

您可以在dcu中阅读更多内容

理查德猪猪伽罗2020/03/19 12:37:46

来自npm的文档npm install <package-name> --savenpm 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会将其声明为模块开发的依赖项。

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

小卤蛋小卤蛋2020/03/19 12:37:46

要添加到Andreas的答案中,您可以使用以下方法仅安装依赖项:

npm install --production
小小猿2020/03/19 12:37:46

--save-dev:软件包将出现在您的devDependencies中。

根据npm install docs

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

换句话说,当您运行时npm install,将安装项目的devDependencies,但不会安装应用程序所依赖的任何软件包的devDependencies。此外,将您的应用程序作为依赖项的其他应用程序也不需要安装devDependencies。仅在开发应用程序时才需要此类模块(例如grunt,mocha等)。

根据package.json文档

编辑:尝试可视化做什么npm install

  • 您的项目
    • 依赖安装
      • 依赖安装
        • 依赖安装
        • 未安装devDependency
      • 未安装devDependency
    • devDependency已安装
      • 依赖安装
      • 未安装devDependency
宝儿神无2020/03/19 12:37:46

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

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

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

    npm install --save-dev packageName
    
梅Jim2020/03/19 12:37:46

当您使用参数“ --save”时,您的依赖项将进入package.json中的#1内。当您使用参数“ --save-dev”时,您的依赖项将进入package.json中的#2内。

1)“依赖项”:生产中的应用程序需要这些软件包。

2)“ devDependencies”:这些包仅用于开发和测试