前言:
1、npm在5版本及以后才加的package-lock.json文件
2、这个文件应该被提交,保证项目成员依赖尽量一致
一、package.json 和 package-lock.json 对依赖包版本的描述对比
// package.json中多数定义的是版本范围
"vue": "~1.0.0",
"jquery": "^5.2.1"
// package-lock.json会锁定版本
"vue": "1.0.0",
"jquery": "5.2.1"
二、为什么说package-lock.json锁定版本
// 当package.json申明的版本依赖规范和package-lock.json安装版本兼容,则根据后者安装依赖
// package.json中
"vue": "~1.2.5"
// 如果没有package-lock.json文件
npm install -> "vue": "~1.2.22"
// 如果有package-lock.json,其中锁定版本为"1.2.5"
npm install -> "vue": "~1.2.5"
三、场景
1、如果开发人员想要回溯到某一天的node_module包状态
把package.json 和 package-lock.json 都回退到那天install即可