前言
大家好,我是林三心,用最通俗易懂的话讲最难的知识点 是我的座右铭,根底是进阶的前提 是我的初心。
背景
不晓得大家平时在开发中有没有留神到,你的我的项目中有两个文件:
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.14
,npm install
的时候,按理说会主动降级,然而因为package-lock.json
中锁着2.6.14
这个版本,所以阻止了主动降级,保障版本还是2.6.14
结语
我是林三心,一个热心的前端菜鸟程序员。如果你上进,喜爱前端,想学习前端,那咱们能够交朋友,一起摸鱼哈哈,摸鱼群,加我请备注【思否】