UNPKG

fe-core-cli

Version:

All-in-one scaffolding, cli integrated with Vue3 ecological chain, cli of H5 page, mock template cli of Node

122 lines (83 loc) 3.68 kB
--- class: 'Layout-doc' sidebarDepth: 2 --- # 组件开发流程 @xxx/components 是基于 [Ant Design Vue](https://antdv.com/components/overview-cn)二次封装的业务组件库,旨在帮助大家减少重复性的工作,项目已集成Ant Design Vue各组件,在自定义组件中 `import` 即可。下面是如何快速开发一个组件的过程: ## 一、实时预览组件 运行下面指令将会启动组件的预览模式,页面会出现各组件列表,点击对应组件名称可实时预览编写组件 ```bash pnpm dev ``` ## 二、生成组件模版 运行下面指令将自动在 `packages/components` 下新建组件模版, `project` 代表需要创建的组件名称,注意小写(分词使用短横杠`form-list`) ```bash pnpm gen:component ${componentName} ``` ## 三、构建组件文档 当组件编写完成之后,需要写一些文档用于说明组件的简单使用方式或者参数事件等,在上一步创建的组件模版中有 `docs/components/xxx.md` 文档中编写。执行下面语句可以实时预览组件文档 ```bash pnpm docs:preview ``` 另外还有一些其他文档指令: 1. 打包组件文档 ```bash pnpm docs:build ``` 2. 运行组件文档 ```bash pnpm docs:dev ``` ## 四、发布Beta版本 当组件开发完成,想要验证自己组件在项目中是否能用,这时需要我们发布一个beta版本,本地开发完组件运行下面命令自动会发布Beta版本 > 注意:发布beta版本的时候,需要关注下当前最新版本的版本号,且防止后别人重复 ```shell # 一键发布测试版本 pnpm release:beta # 主要做了以下事情: # 1. 进入预发布模式 tag可以是:next、beta、alpha pnpm changeset pre enter beta # 2. (在这之前,已经做过全部的代码变更了),进行变更集的更新 pnpm changeset # 3. 更新版本号 pnpm version-pak # 4. 构建所有的包,如果单独发布某个包,就单独构建该包即可(pnpm build:utils) pnpm build # 5. 发布测试版本到 npm # pnpm release:only # 6. 可以重复进行,直到完成全部的测试版本后,就可以退出预发布模式 pnpm changeset pre exit ``` ## 五、Commit message 的格式 每次提交,Commit message 都包括三个部分:Header,Body 和 Footer。 ```markdown <type>(<scope>): <subject> // 空一行 <body> // 空一行 <footer> ``` ```shell # 可以进入commit规范引导 git cz ``` 关注项目文件中约束:`commitlint.config.js` 提交规范示例: ```shell git commit -m 'feat(table): table组件支持toolbar插槽自定义内容' git commit -m 'fix(table): table组件中,修复操作栏按钮删除颜色的问题' ``` ## 六、发布正式组件 最后组件开发完之后,需要将组件发布,有以下两个步骤: - 需要发布最新版本 1. 执行下面语句, 本地测试组件是否正常,并且升级需要更新的组件库版本号 > 必须通过这个命令来修改版本号,因为才可以自动生成最新的changelog ```shell pnpm release ``` 2. 将自己分支合并到master,MR 合入master分支会自动发版,禁止直接`本地发包` - 不需要发布最新版本,那么只需要合并最新的代码到master即可,流水线上会自动发布最新版本 > 发版规范 > 1. 主版本号:做了不兼容旧版本的API修改,大版本修改,主版本号递增时,次版本号和修订号必须归零 > 2. 次版本号:向下兼容的功能性新增或弃用,feature 版本,每次次版本号递增时,修订号必须归零 > 3. 修订号:向下的版本问题修复,bug fix 版本