package.json和package-lock.json区别

package.json和package-lock.json区别

package-lock就是锁定安装时的包版本号,需要上传到git上,以保证其他人在install时候,大家的依赖版本相同。
这个package-lock.json 是在 npm install 时候生成一份文件,用以记录当前状态下实际安装的各个npm package的具体来源和版本号.
这里的^向上尖号是定义向后(新)兼容依赖,如果types/node版本是超过8.0.33,并且是在大版本(8)上相同,就允许下载最新的types/node包。同一个大版本不同版本号之间存在差异,导致依赖库包行为特征有时候不兼容。

所以npm最新的版本就开始自动生成package-lock.json功能,目的就是确保所有库包与你上次安装的完全一样。