package.json和package-lock.json的区别

235 阅读1分钟

package.json

  1. package.json是用来管理项目的依赖包的文件,install依赖包的时候,会自动往dependencies或者devDependencies添加对应的依赖包和版本号信息。
  2. 常见的版本号码命名规则:major.minor.patch,即主要版本、次要版本、补丁,一般我们安装的依赖前面会添加^,即匹配主要版本的最新包,如^1.3.2,会匹配最新版本^1.4.8,但是不会匹配到^2.0.0

package-lock.json

  1. 它会在npm更改node_modules或者package.json的时候自动生成,它准确地描述了npm包的依赖树,并在随后的安装中根据package-lock.json进行安装,保证是同一个依赖树,从而不考虑安装过程中依赖包一些小版本的更新。
  2. 比如vue有了最新版本的vue@^3.0.1,但是之前package-lock.json里的依赖树描述的是vue@^3.0.0,这时候,npm就会安装vue@^3.0.0版本的vue,从而忽略一些小版本的更新。避免了不同开发人员,因为安装了不同小版本更改过的包,如patch(补丁)更新,而导致代码报错等问题。

图文理解:

package-lock.json.png

扩展资料:

  1. www.cnblogs.com/houxianzhou…
  2. blog.csdn.net/qq_38211888…