npm version 版本控制

3 阅读1分钟

npm version 介绍

1.版本号的格式

版本号基本是由三位数字组成:
   1   .   0   .   0
[MAJOR].[MINOR].[PATCH]

三位数字分别代表不同意思:

  • MAJOR 进行不兼容的API更改时的版本
  • MINOR 以向后兼容的方式添加功能时的版本
  • PATCH 向后兼容的错误修复程序的版本

2.npm version

前端目前的代码包管理工具npm,本身有提供命令工具帮助编码人员解决版本升级的工作。下面是代码:

$ npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease [--preid=<prerelease-id>] | from-git]

'npm [-v | --version]' to print npm version
'npm view <pkg> version' to view a package's published version
'npm ls [-g]' 查看当前项目的npm包。-g:查看全局的包

下面是关于版本选项的描述(假设默认版本为0.2.0):

选项描述例子说明
major重大更新版本npm version major0.2.0 =》1.0.0
minor主要更新版本npm version minor0.2.0 =》0.3.0
patch补丁更新版本npm version patch0.2.0 =》0.2.1
premajor重大更新预发布版本npm version premajor0.2.0 =》1.0.0-0
preminor主要更新预发布版本npm version preminor0.2.0 =》0.3.0-0
prepatch补丁更新预发布版本npm version prepatch0.2.0 =》0.2.1-0
prerelease预发布版本npm version prerelease当前版本不是预发布版本的会出错

3.使用例子

场景一:开发流程

# 代码提交
git commit

# 更新至的预发布版本
$ npm version prerelease --preid=feed   ## 0.2.0 =》0.2.1-feed.0

# 更新至新的补丁版本
$ npm version patch ## 0.2.1-feed.0 =》0.2.1
    

4.一些注意事项:

  • 版本号更新会同时修改 package.json 和 package-lock.json
  • 默认会创建一个 git commit 和 tag
  • 如果工作目录有未提交的更改,需要先提交或使用 --force
  • 建议在主分支上执行版本更新操作
  • 建议遵循语义化版本规范