npm --save和--save-dev的区别
Updated:
Contents
突然忘记npm时加-dev和不加的区别了,所以写下来,以便忘记时查看
–save
加–save会再npm安装包时在dependencies声明包名和版本号
大概记得npm 如果是5.0以上好像加不加–save都会在dependencies中声明
大家可以试试啊,哈哈哈(望纠正)
dependencies和devDependencies
- dependencies(依赖关系)
该属性被声明在一个简单的对象中,里面有包名和版本号,用来控制包名在一定的版本范围内,版本范围是一个字符串,可以被一个或多个空格分割。 - devDependencies(开发依赖)
项目中进行npm install不会安装依赖包中的devDependencies中的包,所以如果你的项目中依赖的一些包不是在使用该项目时必须进行安装的,那就将包放在devDependencies中。
npm装包时的比较
1. npm install xxx:
- 会把module包安装到node_modules目录中
- 不会修改package.json
- 之后运行npm install 命令时,不会自动安装module包
2. npm install xxx –save
- 会把module包安装到node_modules目录汇总
- 会修改package.json,将模块名和版本号添加到dependencies部分
- 之后运行npm install 命令时,会自动安装包
- 之后运行npm install –production(只装dependencies中的包)
3. npm install xxx –save-dev
- 会把module包安装到node_modules目录汇总
- 会修改package.json,将模块名和版本号添加到devDependencies部分
- 之后运行npm install 命令时,会自动安装包
- 之后运行npm install –production或者注明NODE_ENV变量值为production时,不会自动安装msbuild到node_modules目录中,即是在线上环境也不会进行安装。