导航


HTML

CSS

JavaScript

浏览器 & 网络

版本管理

框架

构建工具

TypeScript

性能优化

软实力

算法

UI、组件库

Node

业务技能

针对性攻坚

AI


转载自:https://www.yuque.com/gmyoon/dfy2l5/ggu889

一 组件库命名

类型 规范 示例
组件名 kebab-case gd-navigation-bar
属性名 kebab-case visible-count
事件名 kebab-case lowercase click-left mousemove
Slot名 kebab-case title-right
其他不是作为html属性名的字段 camelCase steps: [ { text: '步骤一', desc: '描述信息', inactiveIcon: 'location-o', activeIcon: 'success', }]

二 组件库npm版本号管理策略

组件库采用 SemVer语义化版本 规范管理 package.json 中的版本号。

npm version

npm version 一般有3段,例如:0.0.1,分别对应 version 里面的 major(主版本号).minor(次版本号).patch(修订号)

有时候会需要发布一个不稳定的版本,这时候会有一个预发布号,跟在后面:0.0.1-0,需要注意的是有预发布号的版本号是小于没有预发布号的版本。

npm version 升级版本号命令

扩展了解

npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease [--preid=<prerelease-id>] | from-git]
version 功能
major 如果没有预发布号,则直接升级一位大号,其他位都置为0。即2.0.1变成3.0.0; 如果有预发布号:中号和小号都为0,则不升级大号,而将预发布号删掉。 即2.0.0-1变成2.0.0 ,这就是预发布的作用;如果中号和小号有任意一个不是0,那边会升级一位大号,其他位都置为0,清空预发布号。即2.0.1-0变成3.0.0
minor 如果没有预发布号,则升级一位中号,大号不动,小号置为0。即2.0.1变成2.1.0;如果有预发布号:如果小号为0,则不升级中号,将预发布号去掉。即2.0.0-1变成2.1.0;如果小号不为0,同理没有预发布号。即2.0.1-1变成2.0.5
patch 如果没有预发布号:直接升级小号,去掉预发布号。即2.0.1变成2.0.2;如果有预发布号:去掉预发布号,其他不动。即2.0.1-0变成2.0.1
premajor 直接升级大号,中号和小号置为0,增加预发布号为0。即2.0.1变成3.0.0-0
preminor 直接升级中号,小号置为0,增加预发布号为0。即2.0.1-0变成2.1.0-0
prepatch 直接升级小号,增加预发布号为0。即2.0.1变成2.0.2-0,2.0.1-0变成2.0.2-0
prerelease 如果没有预发布号:增加小号,增加预发布号为0。即2.0.1变成2.0.2-0 ;如果有预发布号,则升级预发布号。即2.0.1-0变成2.0.1-1

版本号更新

发布一个新的稳定版本

当模块有更新的时候,需要发布一个新版本,当所有需要更新的文件都 commit 完了后,就可以更新到 npm 仓库了。

# 比如下面更新一个修订版本号
npm version patch
npm publish

发布一个预发布版本

很多时候一些新改动,并不能直接发布到稳定版本上(稳定版本的意思就是使用 npm install @gd/elements 即可下载的最新版本),这时可以发布一个 “预发布版本“,不会影响到稳定版本。

# 发布一个 prerelease 版本,tag=alpha
npm version prerelease --preid=alpha
npm publish --tag alpha

比如原来的版本号是 0.1.0,那么以上发布后的版本是 0.1.1-alpha.0,用户可以通过 npm install @gd/elements@alpha 或者 npm install @gd/[email protected] 来安装。

当 prerelease 版本稳定之后, 有2种方案:

# 设置 0.1.1-alpha.0 版本为稳定版本
# npm install/publish 默认使用的tag就是latest
npm dist-tag add @gd/[email protected] latest
# 或者通过 tag 来设置
npm dist-tag add @gd/elements@alpha latest
# 升级成正式版本号(0.1.1)后再发布一次
npm version patch
npm publish

三 组件开发及更新发布流程

Untitled

四 组件库更新日志规范

更新日志 Emoji