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

我刚刚开始使用Grunt.js。它很难设置,我正在创建一个package.json文件。

教程之后,它说有3种方法来创建package.json文件。

第一个是执行npm install grunt --save-dev

我试着看,但它结束在徒劳。

126122 次浏览

——save-dev:包会出现在你的devDependencies中。

根据NPM安装文档

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

换句话说,当你运行npm install时,你的项目的devDependencies将被安装,但你的应用程序所依赖的任何包的devDependencies将不会被安装;此外,其他将你的应用作为依赖项的应用不需要安装你的devDependencies。这样的模块应该只需要在开发应用程序(如grunt,摩卡等)。

根据包中。json文档

编辑:尝试可视化npm install所做的事情:

    <李>志愿者项目
      <李>安装的依赖
        <李>安装的依赖
        • 依赖安装
        • devDependency NOT installed . devDependency未安装
      • devDependency NOT installed . devDependency未安装
    • < >强devDependency安装
      • 依赖安装
      • devDependency NOT installed . devDependency未安装

为了补充Andreas的回答,你可以使用以下命令只安装依赖项:

npm install --production

您可以在包中指定(至少)两种类型的包依赖关系。json文件:

  1. 那些为了使用你的模块所需要的包列在“dependencies”属性下。使用npm,你可以将这些依赖项添加到你的包中。Json文件如下:

    npm install --save packageName
    
  2. Those packages required in order to help develop your module are listed under the "devDependencies" property. These packages are not necessary for others to use the module, but if they want to help develop the module, these packages will be needed. Using npm you can add those devDependencies to your package.json file this way:

    npm install --save-dev packageName
    

来自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将它声明为模块开发的依赖项。

问问自己:使用我的模块需要安装的包,还是只需要开发它?

当你使用参数"——save"时,你的依赖项将在package.json的#1中。当你使用参数"——save-dev"时,你的依赖项将在package.json的#2中。

# 1。"dependencies":这些包是生产应用程序所需要的。

# 2。“devDependencies”:这些包只在开发和测试时需要

对我来说,第一个答案似乎有点令人困惑,所以让它简短而干净:

npm install <package_name>通过默认的将任何指定的包保存为依赖项。此外,你可以用一些额外的标志来控制它们保存的位置和方式:

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

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

你可以在在dcu中上阅读更多

仅在开发时使用

  • --save-dev表示在生产环境中省略,仅在开发环境中使用(更小,可能更快)。

保存

安装的包是核心依赖项。

-save-dev

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