语义化版本是一个很多项目用来关联一个发布里的一些改变的标准。在一个发布里关联一些改变是很重要的,,因为有时候这些改变会破坏掉包的依赖。
发布语义化
如果项目准备共享给其他人,应该从1.0.0开始,尽管一些在npm上的项目没有遵循这个规则。
在这之后,更新应该像下面处理:
- Bug修复和其他小更新:Patch release,增加最后面的数字,比如1.0.1
- 新特性但是不破坏已存在的特性:Minor release,增加中间的数字,比如 1.1.0
- 更新不向后兼容:Major release,增加第一位数字。比如:2.0.0
使用语义化
作为使用者,你可以在package.json指定你的应用能接收哪些更新。
如果你是从1.0.4开始的,应该指定这样的范围:
- Patch releases:1.0 or 1.0.x or ~1.0.4
- Minor release: 1 or 1.x or ~1.0.4
- Major release * or x
也可以设置更多granular semver ranges