title:
order: 2

category: 其它

ICE 的 npm 包默认遵守 Semver 语义化版本 2.0 的规则。

版本号规则

组件的版本以 major.minor.patch 形式表示 主版本号.次版本号.修订号 比如: 0.1.0 0.3.1

版本号递增规则如下:

  1. 主版本号:不兼容的 API 修改,
  2. 次版本号:向下兼容的功能性新增,
  3. 修订号:向下兼容的问题修正。

版本控制规范

目前项目内用到的主要有以下两种规则:

patch 位自动升级

标识符:~

依赖版本表示为 ~0.1.0

如:

  1. {
  2. "dependencies": {
  3. "foo": "~2.0.0"
  4. }
  5. }

foo 发布了 2.0.30 版本,表示做了向下兼容的问题修正(BUG fix 等), 在开发与构建时则会安装 2.0.30

如果 foo 存在 2.1.0 版本,根据标识符 ~ 也不会安装此版本。

优点:

自动更新升级项目内组件依赖版本(patch),当组件开发者发布了新版本修复存在的现有问题,可自动升级。

minor 位自动升级

标识符:^

依赖版本表示为 ^0.1.0

温馨提示:包含 patch 自动升级

如:

  1. {
  2. "dependencies": {
  3. "foo": "^2.0.0"
  4. }
  5. }

foo 发布了 2.0.30 版本,表示做了向下兼容的问题修正(BUG fix 等), 在开发与构建时则会安装 2.0.30

如果 foo 存在 2.1.0 版本,根据标识符 ^ 则会安装 2.1.0

优点:

自动更新升级项目内组件依赖版本(minor),当组件开发者发布了新的特性、API 等,可升级到相应的版本。同时也包含升级 (patch)的功能。

固定版本号

固定版本号则需要项目开发者维护版本依赖,无标识符。

如:

  1. {
  2. "dependencies": {
  3. "foo": "2.0.0"
  4. }
  5. }

表示只安装 foo 2.0.0 版本,不会在开发与构建时安装其他版本。

优点:

项目内的组件依赖都是固定的版本,完全保证项目代码一致性。如当组件含有 BUG 时,需开发者手动刚更新组件依赖的版本。