我刚刚开始使用Grunt.js。设置起来非常困难,我正要创建package.json
文件。
在学习完本教程之后,它说有3种创建package.json
文件的方法。
首先是要做 npm install grunt --save-dev
但是什么--save-dev
意思呢?我试着看,但徒劳无功。
来自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
一个package.json
文件声明有关您正在开发的模块的元数据。上述两个命令均会修改该package.json
文件。--save
将声明已安装的软件包(在本例中为grunt
)作为模块的依赖项;--save-dev
会将其声明为模块开发的依赖项。
问问自己:使用我的模块是否需要安装的软件包,还是仅在开发它时才需要?
要添加到Andreas的答案中,您可以使用以下方法仅安装依赖项:
npm install --production
--save-dev:软件包将出现在您的devDependencies中。
如果有人计划在程序中下载和使用您的模块,那么他们可能不希望或不需要下载并构建您使用的外部测试或文档框架。
换句话说,当您运行时npm install
,将安装项目的devDependencies,但不会安装应用程序所依赖的任何软件包的devDependencies。此外,将您的应用程序作为依赖项的其他应用程序也不需要安装devDependencies。仅在开发应用程序时才需要此类模块(例如grunt,mocha等)。
npm install
:您可以在package.json文件中指出(至少)两种类型的软件包依赖项:
在使用“模块”属性下,列出了使用模块所需的那些软件包。使用npm,您可以通过以下方式将那些依赖项添加到package.json文件中:
npm install --save packageName
为了帮助您开发模块而需要的那些软件包在“ devDependencies”属性下列出。这些软件包对于其他人使用该模块不是必需的,但是如果他们想帮助开发模块,则将需要这些软件包。使用npm,您可以通过以下方式将那些devDependencies添加到package.json文件中:
npm install --save-dev packageName
当您使用参数“ --save”时,您的依赖项将进入package.json中的#1内。当您使用参数“ --save-dev”时,您的依赖项将进入package.json中的#2内。
1)“依赖项”:生产中的应用程序需要这些软件包。
2)“ devDependencies”:这些包仅用于开发和测试
对我来说,第一个答案似乎有点令人困惑,因此请简短明了:
npm install <package_name>
默认将所有指定的包保存到依赖项中。此外,您可以使用一些其他标志来控制在何处以及如何保存它们:npm install <package_name> --no-save
防止保存到依赖项。npm install <package_name> ---save-dev
更新devDependencies
您包中的。这些仅用于本地测试和开发。您可以在dcu中阅读更多内容