fe-core-cli
Version:
All-in-one scaffolding, cli integrated with Vue3 ecological chain, cli of H5 page, mock template cli of Node
284 lines (179 loc) • 6.69 kB
Markdown
# Ksg-UI
### 介绍
fast-vue3-lib 开源的 Vue3 + Typescript 组件库开发模板;
简单轻松构建功能完善的组件库,按照约定的目录编排来进行开发,使开发者只需关注组件的开发以及说明文档的编写,无需关注其他繁琐的配置。
相信许多团队都希望沉淀出一套组件库,更加贴合业务,但是大部分人都困在组件库开发的前期构建以及打包阶段,而fast-vue3-lib就是为此而生。
同时,我们使用pnpm管理多包,也可集成所有的团队的基建在一个仓库,比如 `@xxx/utils`、`@xxx/components`、`@xxx/cli`
### 特性
有以下的特性:
+ 基于 antdv 二次开发(也无需重复造轮子)
+ 更贴近业务,开箱即用高质量的vue3组件
+ 约定式开发,大幅减轻开发者工作量
+ 已经完成组件库前期构建和打包阶段,只需要关注到组件的开发(内置发版本规则和指令)
+ 按照约定目录进行开发,打包后的组件库能够支持按需导入,完美配合TreeShaking
+ 集成 Vitepress,按照约定位置创建文件会自动配置路由,只需要关注文档内容的编写
+ 对测试环境支持约定式路由写法,无需编写路由文件(example调试组件)
+ 通过命令行来创建组件文件,减去繁琐的文件创建过程
+ 通过简单的修改环境变量来修改开发方式
基于 Vue3 + Vite 独立组件库脚手架,可在此基础上定制化开发企业级或个人的组件库。
脚手架采用 monorepo 风格,使用 pnpm 作为包管理工具。
## 组件库脚手架内容
- 组件库开发、打包、发布
- 组件库文档docs 编写、打包、一套代码编写和演示 Demo
- 快速创建组件命令行 cli
- 组件库搭建的 example 演示
- 专门管理打包的模块build
## 组件库脚手架技术栈
- Vite 3
- Vue 3
- TypeScript
- Vitepress 1.0
- ESLint
- Rollup
- Gulp
## 使用说明
#### 克隆代码到本地:
```shell
# main 分支
git clone git@git.corp.xxx.com:ksg-frontend/ksg-ui.git
```
#### 安装依赖
如果您没有安装 pnpm,需要先安装 pnpm
```shell
npm install -g pnpm
```
安装依赖:
```shell
pnpm i
```
#### 本地开发
在 example 中开发组件,使用命令:
```shell
pnpm run dev:dev
```
访问地址为 http://localhost:3000/
在组件库文档中开发组件,使用命令:
```shell
pnpm run docs:dev
```
访问地址为 http://localhost:3100/
#### 创建新组件
```shell
pnpm run gen:component
```
按照提示输入组件名称、组件中文名称、组件类型(.tsx 或 .vue)
#### 构建文档
```shell
pnpm run build:docs
```
打包构建后的文件位于 _docs/.vitepress/dist_ 目录
#### 构建 example
```shell
pnpm run build:dev
```
打包构建后的文件位于 _dist_ 目录
#### 构建 utils
```shell
pnpm run build:utils
```
打包构建后的文件位于 _dist_ 目录
#### 发布组件库
1. 组件库打包:
```shell
pnpm run build:lib
```
2. 组件库发版
- 在发布 npm 前可以在本地私服进行测试。
```shell
# 启动本地私服:
# 启动成功后在浏览器中访问 http://localhost:4873/
pnpm run start:verdaccio
# 发布组件库到本地私服中
pnpm run pub:local
```
- 发布正式npm
```shell
# 通过changeset来进行多包管理和发版
# 生成 chanegset 文件
pnpm changeset
# 更新版本号、生成change log
pnpm version-pak
# 发布版本到npm
pnpm release:only
```
3.
## 组件库命令说明
组件库的命令入口均在根目录的 _package.json_ 中的 _scripts_ 中。由于采用了 monorepo 的方式,大多命令的实现都在各自的模块中。
所有命令如下:
```
- dev:dev
- dev:uat
- dev:prod
- build:dev
- build:uat
- build:prod
- preview:example
- clear
- build
- build:lib
- build:utils
- build:theme
- docs:dev
- docs:build
- docs:preview
- gen:component
- start:verdaccio
- pub:local
- changeset
- version-pak
- publish:only
- release
- release:beta
```
#### pnpm run dev:dev
本地开发 example,使用 dev 环境配置,访问地址为 http://localhost:3000/
#### pnpm run dev:uat
本地开发 example,使用 uat 环境配置,访问地址为 http://localhost:3000/
#### pnpm run dev:prod
本地开发 example,使用 prod 环境配置,访问地址为 http://localhost:3000/
#### pnpm run build:dev
打包 dev 环境 example,打包生成的文件位于项目根目录的 _dist_ 目录
#### pnpm run build:uat
打包 uat 环境 example,打包生成的文件位于项目根目录的 _dist_ 目录
#### pnpm run build:prod
打包 prod 环境 example,打包生成的文件位于项目根目录的 _dist_ 目录
#### pnpm run preview:example
预览打包后的 example,访问地址为:http://localhost:4173/
#### pnpm run build
打包组件库、工具库、样式库
#### pnpm run build:utils
打包工具库,打包生成的文件位于项目根目录的 _dist_ 目录
#### pnpm run build:theme-chalk
打包样式库,打包生成的文件位于项目根目录的 _dist_ 目录
#### pnpm run build:lib
打包组件库,打包生成的文件位于项目根目录的 _lib、esm、theme-chalk_ 目录
#### pnpm run docs:dev
本地开发组件库文档,访问地址为:http://localhost:3100/
#### pnpm run docs:build
组件库文档打包,打包生成的文件位于项目根目录下的 _docs/.vitepress/dist_ 目录
#### pnpm run docs:preview
预览打包后的组件库文档,访问地址为:http://localhost:4173/
#### pnpm run gen:component
快速创建新组件。依次输入组件名、组件描述(中文名称)、组件类型(tsx \ vue)即可自动生成组件并完成配置。
使用该命令可避免组件开发人员分散精力到各种配置、基础目录和文件的创建中,可以让其聚焦于组件本身的开发。
#### pnpm run start:verdaccio
启动 verdaccio。 本地开发时,使用 verdaccio 作为测试使用的本地 npm 私服。
使用该命令启动 verdaccio 私服,启动成功后在浏览器中访问 http://localhost:4873/
如果初次使用,需要创建用户,可以搜索 _verdaccio_,查看其具体使用。
#### pnpm run pub:local
发布组件库到本地私服。
#### pnpm run changeset
多包管理,生成changeset文件
#### pnpm run version-pak
消耗changeset文件,更新包版本、生成changelog
#### pnpm run publish:only
发布组件库到npm服务。
#### pnpm run release:beta
一键发布测试版本
#### pnpm run release
一键发布版本,但是不发布到npm,只是做好全部准备