likes
comments
collection
share

60%的人都不知道 package-lock.json 有啥用吧?简单讲讲

作者站长头像
站长
· 阅读数 20

前言

大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心。

背景

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

  • package.json
  • package-lock.json

应该很多人平时都不会去关注这两个文件有啥关系吧!今天就给大家简单地讲讲吧,这样下次面试官问起时,大家也可以装装杯了~~

60%的人都不知道 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 的时候会自动升级

60%的人都不知道 package-lock.json 有啥用吧?简单讲讲

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

package-lock.json

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

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

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

60%的人都不知道 package-lock.json 有啥用吧?简单讲讲

结语

我是林三心,一个热心的前端菜鸟程序员。如果你上进,喜欢前端,想学习前端,那咱们可以交朋友,一起摸鱼哈哈,摸鱼群,加我请备注【思否】

60%的人都不知道 package-lock.json 有啥用吧?简单讲讲