前端版本发布规范
一、版本号简介
软件版本号有四部分组成:
1. 第一部分为主版本号,变化了表示有了一个不兼容上个版本的大更改。
2. 第二部分为次版本号,变化了表示增加了新功能,并且可以向后兼容。
3. 第三部分为修订版本号,变化了表示有bug修复,并且可以向后兼容。
4. 第四部分为日期版本号加希腊字母版本号,希腊字母版本号共有五种,分别为base、alpha、beta 、RC 、 releas
希腊版本号:
| Base | 此版本表示该软件仅仅是一个假页面链接,通常包括所有的功能和页面布局,但是 页面中的功能都没有做完整的实现,只是做为整体网站的一个基础架构。 |
|---|---|
| Alpha | 软件的初级版本,表示该软件在此阶段以实现软件功能为主,通常只在软件开发者 内部交流,一般而言,该版本软件的Bug较多,需要继续修改,是测试版本。测试 人员提交Bug经开发人员修改确认之后,发布到测试网址让测试人员测试,此时可 将软件版本标注为alpha版。 |
| 该版本相对于Alpha 版已经有了很大的进步,消除了严重错误,但还需要经过多次 测试来进一步消除,此版本主要的修改对象是软件的UI。修改的的Bug 经测试人 员测试确认后可发布到外网上,此时可将软件版本标注为 beta版。 | |
| RC(Release Candida) | 该版本已经相当成熟,基本上不存在导致错误的Bug,与即将发行的正式版本相差无几。 |
| Release | 该版本意味“最终版本”,在前面版本的一系列测试版之后,终归会有一个正式的版本,是最终交付用户使用的一个版本。该版本有时也称标准版。 |
版本号修改规则
1. 主版本号:当功能模块有较大的变动,比如增加模块或是整体架构发生变化。此版本号由项目决定是否修改。
2. 次版本号:相对于主版本号而言,次版本号的升级对应的只是局部的变动,但该局部的变动造成程序和以前版本不能兼容,或者对该程序以前的协作关系产生了破坏,或者 是功能上有大的改进或增强。此版本号由项目决定是否修改。
3. 修订版本号:一般是Bug 的修复或是一些小的变动或是一些功能的扩充,要经常发布修订版,修复一个严重 Bug 即可发布一个修订版。此版本号由项目经理决定是否修改。
4. 日期版本号:用于记录修改项目的当前日期,每天对项目的修改都需要更改日期版本号。此版本号由开发人员决定是否修改。
5. 希腊字母版本号:此版本号用于标注当前版本的软件处于哪个开发阶段,当软件进入到另一个阶段时需要修改此版本号。此版本号由项目决定是否修改。
6. 0.y.z 表示开发阶段,一切可能随时改变,非稳定版
7. 1.0.0 界定此版本为初始稳定版,后面的一切更新都基于此版本修改
8. 在发布重要版本时,可以先发布alpha,beta,rc等先行版本,先行版本版本状态是以 . 分隔的标识符,由数字字母组成,alpha、beta、rc后需要带上次数信息,比如1.0.0-alpha.1
注:上级版本变动,下级版本全部归零
package.json 依赖说明
● version 必须确切匹配这个version
● >version 必须大于这个version
● >=version 必须大于等于这个version
● < version 必须小于这个version
● <=version 必须小于等于这个version
● ~version 大约相当于version
● ^version 与version兼容
● 1.2.x 可以是1.2.0、1.2.1等,但不能是1.3.0
● http://… URL作为依赖项
● * 匹配任何版本
● “”(空字符串) 匹配任何版本,和*一样
● version1 - version2 相当于 >=version1 <=version2
● range1 || range2 range1或range2其中一个满足时采用该version
● git… Git URL作为依赖项
● user/repo GitHub URLs
● tag 一个以tag发布的指定版本,参考npm-tag
● path/path/path 本地Paths
版本范围详解
● 连字符范围:X.Y.Z-A.B.C
■ 指明版本范围
1.2.3 - 2.3.4: >=1.2.3 <=2.3.4
■ 起始版本不全: 缺少的部分补0
1.2 - 2.3.4: 相当于1.2.0 - 2.3.4;
■ 结束版本不全:所有以其开头的版本均符合要求
1.2.3 - 2.3 :相当于 >=1.2.3 < 2.4.0
1.2.3 - 2: 相当于 >=1.2.3 < 3.0.0
● 带有X的版本范围:“1.2.X ”、“1.X” 、“1.2.*”
任何带有X、x 和 *的版本号都是有谁存在就要匹配谁。
■ *:>=0.0.0
■ “”: >=0.0.0
■ 1.x: >=1.0.0 <2.0.0
■ 1.2.x: >=1.2.0 <1.3.0
■ 1: >=1.0.0 <2.0.0
■ 1.2: >=1.2.0 <1.3.0
● 波浪号范围 ~1.2.3 ~1.2 ~1
■ ~1.2.3: >=1.2.3 <1.3.0, 只能更新
■ 1.2: >=1.2.0 <1.3.0(相当于1.2.0,1.2.x)
■ ~1:>=1.0.0 <2.0.0 (相当于1.X,所有的1.X.X)
■ ~1.2.3-beta.2: >=1.2.3-beta.2 <1.3.0
版本修改
1.
npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease [--preid=<prerelease-id>] | from-git]