前端版本号定义
版本号结构:
主版本号.次版本号.修订号
版本号能够表明版本的重要性和破坏性,在开发过程中有着很重要的意义
1. 版本号定义
版本号定义参考语义化版本 2.0.0,npm 语义化版本控制也是以它为基准的
里面规定版本号必须遵守以下规则:
- 主版本号:当你做了不兼容的 API 修改,
- 次版本号:当你做了向下兼容的功能性新增,
- 修订号:当你做了向下兼容的问题修正。
2. 区别
在前端的系统里面通常并没有 api 等特性,所以上面的规则并不完全适用,所以在规则方面要做一些变更
在版本号的修改上面,一百个人有一个种方法,下面是我个人的一些理解:
- 主版本号:当项目结构发生改变、推出很重要功能或者是多个次版本号更替后变更
- 次版本号:当新增功能并且项目结构无多大修改时新增
- 修订号:当你修改了 bug 或者做了一些小的样式或逻辑调整
规则是死的,人是活得,只有适合才是最好的
2. 如何理解 dependencies 内的版本号
- ^:从左边数第一个不等于 0 的版本号不允许改变,右边的可以匹配到最新的版本
- ~:如果存在次版本号,则只能匹配到修订号的最新版。如果不存在次版本号(指的是~1,而不是~1.0 或~1.0.0,因为 0 也算是次版本号),可以匹配到次版本号最新版本
- latest:匹配最新版本号
- *:匹配最新版本号
- 1.2.3:指定版本号
- -:匹配两个版本号的区间
- > >= < <= =:运算符匹配