npm install 、npm install --save 和 npm install --save-dev的区别介绍
作者:潘建南
相同点
三者都会本地安装包到项目的node_modules目录中
区别
区别在于对项目package.json的修改,npm install不会修改package.json,而后两者会将依赖添加进package.json,后两者的区别请看下文循序渐进。
指定依赖包
指定包取决于你的项目,你需要在package.json
文件中列出你需要使用的包,有两种包可以选择:
- “dependencies”: 这些包都是你的应用程序在生产环境中所需要的。
- “devDepedencies”:这些包只是在开发和测试中需要的。
手动编辑package.json文件
你可以手动编辑你的package.json
。你需要在包的dependencies 对象中创建一个属性用来指出你需要添加的依赖。
例如下面的项目中,在主要生产环境中使用包my_dep的版本1.0.0,而在在开发环境中使用包 my_test_framework 的3.1.0版本。
{ "name": "my_package", "version": "1.0.0", "dependencies": { "my_dep": "^1.0.0" }, "devDependencies" : { "my_test_framework": "^3.1.0" } }
--save
和--save-dev
下载标签
- 他们表面上的区别是--save 会把依赖包名称添加到 package.json 文件 dependencies 键下,--save-dev 则添加到 package.json 文件 devDependencies 键下.
- dependencies是运行时依赖,devDependencies是开发时的依赖。即devDependencies 下列出的模块,是我们开发时用的
比如 我们安装 js的压缩包gulp-uglify 时,我们采用的是 “npm install gulp-uglify --save-dev”命令安装,因为我们在发布后用不到它,而只是在我们开发才用到它。dependencies 下的模块,则是我们发布后还需要依赖的模块,譬如像jQuery库或者Angular框架类似的,我们在开发完后后肯定还要依赖它们,否则就运行不了。
补充:正常使用npm install时,会下载dependencies和devDependencies中的模块,当使用npm install --production或者注明NODE_ENV变量值为production时,只会下载dependencies中的模块。
到此这篇关于npm install 、npm install --save 和 npm install --save-dev的区别的文章就介绍到这了,更多相关npm install --save和npm install --save-dev区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!