一、背景

不知道大家平时在开发中有没有注意到,你的项目中有两个文件:

  • package.json

  • package-lock.json

应该很多人平时都不会去关注这两个文件有啥关系吧!今天就给大家简单地讲讲吧~~

图片

package.json中,vue的版本是^2.6.14

"vue": "^2.6.14",

^的意思是,假如过几天Vue在大版本 2下更新了小版本 2.6.15,那么当你npm install时Vue会自动升级为2.6.15

二、 引起的问题

比如现在有程序员A、程序员B两个开发者

  • 程序员A:接手项目时Vue的版本是2.6.14,并一直使用这个版本

  • 程序员B:一个月后加入这个项目,这时Vue已经升级到2.9.14了,npm install的时候会自动升级

图片

总结:这会导致两个人开发时的Vue版本不同,从而会导致合作开发产生一些问题,以及错误。

三、package-lock.json

package-lock.json可以解决以上的问题,他的作用就是:锁定安装模块的版本号

比如现在有程序员A、程序员B两个开发者

  • 程序员A:接手项目时Vue的版本是2.6.14,此版本被锁在了package-lock.json

  • 程序员B:一个月后加入这个项目,这时Vue已经升级到2.9.14npm install的时候,按理说会自动升级,但是由于package-lock.json中锁着2.6.14这个版本,所以阻止了自动升级,保证版本还是2.6.14

图片


Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐