✏️
ougege
  • README
  • Docs
    • index
    • Articles
      • AI
        • 体验Chrome AI
        • 体验Cloudflare Workers AI
        • 体验deepseek
      • CSS
        • CSS优化-PurgeCSS
        • 实用效果
        • 开发常用样式
      • Deepin
        • deepin20安装mysql
        • deepin使用tensorflow入门机器学习
        • deepin安装cuda和cuDNN
        • deepin安装lamp
        • deepin安装nvidia驱动
        • deepin安装oh my Zsh
        • deepin安装p7zip
        • deepin换源
        • 安装deepin系统后要做的事
      • Docker
        • CI/CD搭建配置
        • deepin搭建docker环境
        • docker安装和使用gitlab
        • docker搭建nginx+php环境
      • Essay
        • IOS申请邓白氏编码
        • Markdown-Mermaid
        • Markdown Use
        • webview白屏的问题查找和修复
        • 前端开发对接问题和解决办法汇总
        • 国务院机构改革方案
        • 国家级智库
        • 实用网站推荐
        • 常用Markdown数学公式语法
        • 强烈推荐前端要安装的vscode扩展
        • 新建销售计划-页面卡死问题分析
        • 海淘入坑手册
        • 竞品研究
        • 足球知识速成
      • Git
        • GitBook安装和常用命令
        • GitKraken免费版本
        • Git安装和配置
        • Git异常处理
        • Git Worktree使用
        • 前端工程化相关的实用git命令
      • JS
        • ESM模块导出方式对比
        • Emoji多端统一处理
        • JS发布订阅模式
        • JS性能优化
        • JS标准内置对象
        • JS链式调用原理
        • Promise介绍和使用
        • Range的使用
        • Vue+Oauth登录实现
        • Vue实现富文本插入Emoji
        • chrome扩展入门
        • es5新特性
        • es6常用特性
        • es常用片段
        • uniapp使用eslint校验代码
        • 与移动端通信
        • 优秀js库moment
        • 使用vue-socketio
        • 实现一个中间件
        • 小程序webview调试
        • 常用snippets
        • 常用正则
        • 常用的设计模式
        • 微信jssdk封装使用
        • 浏览器宏任务和微任务
        • 浏览器的5种Observer
        • 深入理解赋值、浅拷贝、深拷贝
        • 解析vue指令clickoutside源码
        • 键盘事件与KeyBoardWrapper交互
        • 高德地图常用方法封装
        • 高阶函数片段
      • Network
        • 使用Lighthouse分析前端性能
        • 前后端启用https
        • 宝塔nginx安装ngx_brotli
        • 比较gz与br加载速度
        • 浏览器https提示不安全
        • 浏览器提示HSTS
        • 简单使用tcpdump
        • 静态资源gzip优化
      • Node
        • CommonJS模块导出方式对比
        • Taro command not found 多平台解决方案
        • koa使用和API实现
        • node安装报错Unexpected-token
        • 使用nvm和nrm
        • 使用uniapp给小程序添加云函数
        • 使用verdaccio搭建本地npm仓库
        • 使用vue-cli搭建vue项目
        • 安装Node.js和npm配置
        • 编译成cjs和mjs的思路解析
        • 让你的npmPackage同时支持cjs和mjs
        • 通过GithubAction将内容部署到vps
      • Python
        • Python源管理
        • Python版本管理
        • mitmproxy抓包
        • 微信公众平台开发爬坑经历
      • Shell
        • Ubuntu安装deepin桌面环境
        • Ubuntu安装flatpak软件
        • Ubuntu安装wireshark
        • Ubuntu常见问题汇总
        • dell G3装系统无法识别第二块硬盘
        • linux下virtualbox用gho还原系统
        • mysql常用命令
        • navicat连接一键集成环境的mysql
        • nginx常用命令
        • pm2常用命令
        • virtualbox虚拟机和宿主机互相复制粘贴
        • vps内资源通过mega快传到本地
        • vps报错temporary failure in name resolution
        • vscode修改文件监控数
        • windows+linux双系统引导修复
        • zsh常用插件和命令
        • 一键搭建ChatGPT web版
        • 使用V2ray,CloudFlare Warp解锁GPT
        • 使用vscode进行java开发
        • 利用zx和SSHKey发布代码到服务器
        • 反爬虫一些方案总结和尝试
        • 安装1Panel
        • 安装Bt面板
        • 安装Ubuntu22.04后要做的事
        • 无显示器linux设置默认分辨率
        • 特别实用的shell命令
        • 解决linux安装xmind缺少依赖报错
      • Standards
        • CSS格式化之stylelint
        • CSS规范
        • HTML规范
        • JS规范
        • commit规范
        • 使用husky+commitlint规范代码提交
        • 使用semantic-release自动管理版本号
        • 命名规范
        • 图片规范
        • 版本编号规范
      • Wall
        • 科学上网-Cloudflare-Pages
        • 科学上网-Cloudflare-Warp
        • 科学上网-Geph
        • 科学上网-RackNerd
        • 科学上网-Slicehosting
        • 科学上网-Surfshark
        • 科学上网-Tor
        • 科学上网-XX-NET
        • 科学上网-heroku
        • 科学上网-shadowsock
        • 科学上网-v2ray使用
        • 科学上网-v2ray搭建
        • 科学上网-浏览器代理
        • 科学上网-让终端走代理
      • Windows
        • SourceTree破解免登录(windows版)
        • git bash交互提示符不工作
        • nexus 7 2013 wifi 刷机
        • tree命令生成文件目录
        • 利用charles抓包app
        • 安装Openssl
        • 安装msi文件报错2503和2502
        • 神器vimium使用说明
        • 自用host
        • 解决win10扩展出来的屏幕模糊
        • 解决安装Adobe Air时发生错误
    • Snippets
      • zsh
        • docker
        • extract
        • git-commit
        • git
        • mysql-macports
        • npm
        • nvm
        • pip
        • pm2
        • systemd
        • ubuntu
        • vscode
Powered by GitBook
On this page
  • 介绍
  • 常见版本编号特点
  • 行业标准
  • 版本准则
  • 版本规则
  • 参考

Was this helpful?

  1. Docs
  2. Articles
  3. Standards

版本编号规范

介绍

工作中我们一般使用 version 表示版本编号,用于确定项目在每个阶段的唯一性。在项目每次封版发布前,需要更新一次版本。

常见版本编号特点

  1. 版本的形式严格遵循 a.b.c

  2. 版本的迭代严格遵循 右位递增

  3. 发布重要版本前,可发布 alpha、beta、rc 等先行版本

  4. 先行版本的编号后方可以带上次数或元信息

行业标准

Github 起草了一份具备知道意义且统一版本编号的表示规则,简称 Semver, 目前由 Npm 团队维护。

版本号
简称
别名
功能
描述

主版本

major

Breaking Change

新增功能

不向下兼容API

次版本

minor

New Feature

新增功能

向下兼容的功能改动

修订版本

patch

Bug Fix

修复缺陷

向下兼容的缺陷改动

先行版本

标记
简称
功能
描述

内测版本

alpha

主要以实现软件功能为主

只在开发者内部交流,问题较多需继续优化

公测版本

beta

主要以修复问题缺陷为主,还会加入新功能

可在社区外部交流,问题不多但需继续优化

候选版本

gama或rc

主要以消除最终错误为主,不会加入新功能

与正式版无异

版本准则

版本编号必须严格遵循 a.b.c 且三者都为非负整数,禁止在数字前方补零,版本发布需严格递增。

// 示例
const version1 = '16.1.0'
const version1 = '16.1.1'
const version2 = '16.2.0-alpha'
const version3 = '16.2.0-alpha.1'

版本规则

在使用npm i 安装包时,会将包名和版本编号写入到package.json 文件中

::: info ^ 表示同一主版本中不小于指定版本的版本。^2.2.1 对应主版本为2,不小于2.2.1的版本满足条件,例如2.2.1、2.2.2、2.3.0等,主版本固定 :::

::: tip ~ 表示同一主版本与次版本中不小于指定版本的版本。~2.2.1 对应主版本为2,次版本为2,不小于2.2.1的版本,例如2.2.1、2.2.2等,主版本与次版本固定 :::

# >、<、=、<=、>=、- 表示一个版本范围。- 必须使用前后空格间隔
# || 表示满足多个条件的版本。|| 必须使用前后空格间隔
# x 与 * 表示通配版本

::: code-group

dependencies: {
  "react": "^18.0.0",
  "vue": "~3.0.0",
  "node": "16.0.0 - 16.14.0",
  "npm": ">=7.10.0",
  "package-name1": ">=16.0.0 || <=16.14.0",
  "package-name2": "16.x",
  "package-name3": "*",
}

:::

参考

Previous图片规范NextWall

Last updated 10 months ago

Was this helpful?

Semantic Versioning