原因
npm包管理器在安装包的时候,会有两种安装方式,一种是–save,另一种是–save-dev。所以我们需要弄清楚这两种安装方式到底有什么区别。
共同点
- 两种方式都会安装到node_modules目录中。
- 两种方式都会保存到package.json文件中。
区别
在package.json文件中,有两个存放模块的对象。
–save会存放到”dependencies”,而–save-dev会存放到”devDependencies”。
--save
是对生产环境所需依赖的声明(开发应用中使用的框架,库)
比如:jq,react,vue都需要放到这里面
--save-dev
是对开发环境所需依赖的声明(构建工具,测试工具)
比如:babel,webpack,都放到当前目录
如何判断
- 一种是你在使用当前模块的时候,当前模块在github上会告诉你,它需要使用哪种方式安装。
- 另一种就是你靠自己判断如何安装在哪个里面。
如何使用
如果我们转移一个项目或者下载了一个别人的项目时,是不会带有node_modules目录中的模块的,所以我们拿到项目以后,是需要在根目录进行npm install
进行项目安装的,这种默认是生产环境和开发环境都会安装。
如果带上后缀npm install --production
则只会安装生产环境的所有模块,而无视开发环境的相关模块。
我们可以通过分开生产环境和开发环境相关的模块,还可以减少安装时间。达到节约时间的目的。