package.json文件下dependencies和devDependencies区别
devDependencies:用于开发环境
dependencies:用于线上环境
重点
dependencies依赖的包不仅线上环境可以用,开发环境也能使用,反之则不行
注意
默认情况下,在哪个文件夹下运行npm,npm就在当前目录创建一个文件夹node_modules
NPM install moduleName --save
- 将项目模块写入到package.json的dependencies节点
- 安装模块到当前node_modules文件夹下
- 运行npm install时,会将模块下载到当前node_modules目录下
NPM install moduleName --save-dev
- 将项目模块写入到package.json的devDependencies节点
- 安装模块到当前node_modules文件夹下
- 运行npm install时,会将模块下载到当前node_modules目录下
NPM install moduleName -g
- 安装模块到全局,不会在项目node_modules目录中安装
- 不会将模块信息写入到dependencies或devDependencies节点
- 运行npm install时,不会下载该模块
注意
具体安装的位置,可以通过 npm config prefix 设置,或者通过 npm config list查看
NPM install moduleName
- 安装模块到当前node_modules文件夹下
- 不会将模块信息写入到dependencies或devDependencies节点
- 运行npm install时,不会下载该模块
总结
devDependencies节点下的模块是开发时候需要的,如构建工具glup、webpack,预处理器less、sass这些只在开发环境有用,所以使用–save-dev安装
dependencies节点下的模块是线上代码运行需要的,如axios、vue-router、vuex,所以需要使用–save安装
版本号说明
版本号由3段组成,大致说明如下:主版本号.次版本号[. 修正版本号[ build- 编译版本号 ]]
主版本号:代表版本的重大变化,可能向下兼容,也可能不兼容
次版本号:代表增加了新功能,一般都向下兼容
修正版本号:代表修改了BUG,并且可以向下兼容
build-编译版本号:代表编译版本的日期、版本的稳定性(如:release、RC、beta、alpha、base),不常用
波浪号~
~版本:如 “vue”: “~2.6.14”,表示安装2.6.x的最新版本(不低于2.6.14),但是不安装2.7.x的版本,也就是安装时不改变主版本号和次版本号
插入符号^
^版本:如 “vue”: “~2.6.14”,表示安装2.x.x的最新版本(不低于2.6.14),但是不安装3.x.x的版本,也就是安装时不改变主版本号
不加符号
指定版本:代表指定版本号,如 “vue”: “2.6.14”,表示就是安装2.6.14版本,锁定版本