version
- 每一个npm包都有一个package.json文件,package.json中的version字段表示npm包发布的版本号。
- version字段是三位的版本号,如: ‘0.0.1’。分别对应 major(大版本), minor(小版本), patch(小修复)。
npm version
npm version 这个命令可以帮助用户自动更改版本号,同时提交commit comment。
假设当前版本是 1.1.1,当用户执行 npm version patch -m ‘[patch]’ 时,package.json 文件里面的 version 字段将自动改为1.1.2,同时本地提交一个 comment 为 [patch] 的commit。
如果执行了prepatch,版本号会从1.1.1变成 1.1.2-0。
我们称版本号的三位分别是 大号.中号.小号-预发布号
npm version | 功能 |
---|---|
major | 如果没有预发布号,则直接升级一位大号,其他位都置为0。 如果有预发布号: 中号和小号都为0,则不升级大号,而将预发布号删掉。即2.0.0-1变成2.0.0,这就是预发布的作用。 如果中号和小号任意一个不是0,会升级一位大号,其他位都置为0,清空预发布号。即 2.0.1-0 变成 3.0.0。 |
minor | 如果没有预发布号,则升级一位中号,大号不动,小号置为空。 如果有预发布号: 如果小号为0,则不升级中号,将预发布号去掉。 如果小号不为0,同理没有预发布号 |
patch | 如果没有预发布号,直接升级小号。如果有预发布号,去掉预发布号,其他不动。 |
premajor | 直接升级大号,中号和小号置为0,增加预发布号为0 |
preminor | 直接升级中号,小号置为0,增加预发布号为0 |
prepatch | 直接升级小号,增加预发布号为0 |
prerelease | 如果没有预发布号,增加小号,增加预发布号为0 。如果有预发布号,则升级预发布号。 |
参考自:https://www.jianshu.com/p/5565536a1f82