package.json
package.json是用来管理项目的依赖包的文件,install依赖包的时候,会自动往dependencies或者devDependencies添加对应的依赖包和版本号信息。- 常见的版本号码命名规则:
major.minor.patch,即主要版本、次要版本、补丁,一般我们安装的依赖前面会添加^,即匹配主要版本的最新包,如^1.3.2,会匹配最新版本^1.4.8,但是不会匹配到^2.0.0。
package-lock.json
- 它会在npm更改
node_modules或者package.json的时候自动生成,它准确地描述了npm包的依赖树,并在随后的安装中根据package-lock.json进行安装,保证是同一个依赖树,从而不考虑安装过程中依赖包一些小版本的更新。 - 比如vue有了最新版本的
vue@^3.0.1,但是之前package-lock.json里的依赖树描述的是vue@^3.0.0,这时候,npm就会安装vue@^3.0.0版本的vue,从而忽略一些小版本的更新。避免了不同开发人员,因为安装了不同小版本更改过的包,如patch(补丁)更新,而导致代码报错等问题。
图文理解:
扩展资料: