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

在本教程中,有3种方法可以创建包。json文件。

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

但是——save-dev是什么意思呢?我试过找,但没有结果。


当前回答

—save

安装的包是核心依赖项。

–保存开发

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

其他回答

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

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

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

来自npm的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

一个包。Json文件声明关于您正在开发的模块的元数据。上述两个命令都修改了这个包。json文件。——save会将已安装的包(在本例中为grunt)声明为模块的依赖项;——save-dev将它声明为模块开发的依赖项。

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

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

npm install --production

仅在开发时使用

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

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

根据npm安装文档。

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

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

根据包装。json文档

编辑:尝试可视化npm install所做的工作:

志愿者项目 依赖安装 依赖安装 依赖安装 未安装devDependency 未安装devDependency devDependency安装 依赖安装 未安装devDependency