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(补丁)更新,而导致代码报错等问题。