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

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

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

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


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

根据npm安装文档。

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

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

根据包装。json文档

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

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

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

npm install --production

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

Those packages that are required in order to use your module are listed under the "dependencies" property. Using npm you can add those dependencies to your package.json file this way: npm install --save packageName 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>——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将它声明为模块开发的依赖项。

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

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

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

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

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

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

——no-save阻止保存到依赖项。

——save-dev更新包中的devDependencies。这些仅用于本地测试和开发。

你可以在dcu读到更多

仅在开发时使用

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

—save

安装的包是核心依赖项。

–保存开发

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