@garming21/jm-plus
v1.0.2
Published
JM Plus 组件库 - 基于 Vue 3 + Element Plus 的组件库
Maintainers
Readme
JM Plus 组件库
项目结构
jm-plus/
├── packages/
│ ├── components/ # 组件源码
│ │ └── button/ # Button 组件
│ ├── theme-chalk/ # 样式主题包
│ │ ├── src/ # SCSS 源文件
│ │ └── mixins/ # SCSS 混入
│ └── jm-plus/ # 主入口包
├── src/ # 示例应用
├── package.json
├── pnpm-workspace.yaml # Monorepo 配置
└── vite.config.ts快速开始
1. 安装依赖
cd jm-plus
pnpm install2. 运行示例
pnpm dev3. 构建组件库
pnpm build组件使用
全局注册
import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
// 注意:发布后包名会是 @你的用户名/jm-plus
import JmPlus from '@你的用户名/jm-plus'
const app = createApp(App)
app.use(ElementPlus)
app.use(JmPlus)
app.mount('#app')按需引入
<script setup lang="ts">
// 注意:发布后包名会是 @你的用户名/jm-plus
import { JmButton } from '@你的用户名/jm-plus'
</script>
<template>
<JmButton type="primary">按钮</JmButton>
</template>组件特性
JmButton 组件
- 基于 Element Plus Button 封装
- 支持防抖功能(debounce)
- 可自定义防抖时间(debounceTime)
- 继承所有 Element Plus Button 的属性
扩展组件
要添加新组件,只需:
- 在
packages/components/下创建新组件目录 - 实现组件代码
- 在
packages/components/index.ts中导出 - 在
packages/jm-plus/component.ts中注册
已完成
✅ 样式系统:已创建 packages/theme-chalk 包,支持 SCSS 样式管理
✅ 构建系统:已配置完整的 Rollup + ESBuild 构建流程,支持:
- 全量构建(UMD + ESM 格式)
- 按需加载模块构建(ESM + CJS 格式)
- TypeScript 类型定义生成
- 样式文件构建和压缩
- 自动版本号更新
✅ 单元测试:已集成 Vitest 测试框架,支持: - 组件单元测试
- 代码覆盖率报告
- 测试 UI 界面
- 自动化测试流程
✅ 文档站点:已使用 VitePress 搭建文档站点,支持: - 组件文档展示
- 在线示例演示
- 代码高亮
- 响应式设计
构建说明
构建命令
# 完整构建(清理 + 样式 + 主包)
pnpm build
# 仅构建样式
pnpm build:theme
# 仅构建主包
pnpm build:main
# 清理构建产物
pnpm clean构建产物
构建完成后,产物位于 dist/jm-plus/ 目录:
dist/jm-plus/
├── es/ # ESM 格式(按需加载)
├── lib/ # CJS 格式(按需加载)
├── index.js # UMD 格式(全量)
├── index.mjs # ESM 格式(全量)
├── index.min.js # UMD 格式(压缩)
├── index.min.mjs # ESM 格式(压缩)
├── package.json # 包配置
└── README.md # 说明文档测试
运行测试
# 运行测试(监听模式)
pnpm test
# 运行测试(单次)
pnpm test:run
# 运行测试并生成覆盖率报告
pnpm test:coverage
# 打开测试 UI 界面
pnpm test:ui测试覆盖率
测试覆盖率阈值设置为 60%,包括:
- 行覆盖率(lines)
- 函数覆盖率(functions)
- 分支覆盖率(branches)
- 语句覆盖率(statements)
覆盖率报告会生成在 coverage/ 目录下。
文档站点
本地开发
# 进入文档目录
cd docs
# 安装依赖(如果还没安装)
pnpm install
# 启动开发服务器
pnpm dev文档站点将在 http://localhost:5173 启动。
构建文档
# 构建文档站点
cd docs
pnpm build
# 预览构建结果
pnpm preview构建产物会生成在 docs/.vitepress/dist 目录。
下一步
- 添加更多组件
- 配置自动导入解析器
