依赖分类
依赖根据开发环境需要和实际运行环境需要,分为dependencies
和devDependencies
。
例如:typescript
和eslint
属于devDependencies
,而vue
和axios
等属于dependencies
。
版本号组成
版本由两部分组成,一是前面的前缀符号,二是版本号。
这里先介绍版本号。
版本号
版本号的形式是:a.b.c
;
a
:主要版本(major version),代表一次重大更改,通常不会兼容旧版本,即发生breaking change;更新主要版本通常意味着需要将项目代码向新版本进行迁移,典型的案例是vue2
到vue3
的升级;b
:次要版本(minor version),代表这个新版本有新的功能(new features),不包括breaking change,通常可以无痛升级,但是可能伴随着新的bug;c
:补丁版本(patch version),代表这个版本是为了修复bug发布的。
前缀部分
前缀符号的含义:
^
:表示接受补丁版本和次要版本,这个符号是默认值;~
:表示只接受补丁版本,更稳妥;
区间相关的前缀符号:
>
:表示接受大于该版本号的所有版本;- 类似的还有:
<
,>=
,<=
; -
:例如1.0.0 - 2.0.0
,闭区间;||
:组合集合,例如1.0.0 || >=1.1.0 <1.2.0
,表示使用1.0.0
版本或者使用从1.1.0
开始但低于1.2.0
的版本。
检查包的版本
npm outdated
可以检查当前的包是否有过时的版本,会在控制台输出一个表格,其中包含了项目的所有直接依赖的相关版本信息。
主要需要关注的列是Current
,Wanted
和Latest
:
Current
:当前项目所使用的版本;Wanted
:根据版本号前缀,可接受的最新版本;Latest
:这个依赖目前已发布的最新版本;
更新包的版本
npm update [-g] [<pkg>...]
根据package.json
中配置的版本号前缀,将所有的依赖(或者指定的依赖)更新到可以接受的最新版本。