@tianyio/quality-helper
Version:
A comprehensive quality helper tool for project scaffolding and management
196 lines (146 loc) • 4.25 kB
Markdown
本文档展示了如何在项目中使用 @tianyio/quality-helper 和 @tianyio/fast-util-lib 工具包。
```
npx quality-helper create my-project
npx quality-helper update-config
npx quality-helper update-deps
npx quality-helper check-deps
```
在 vite.config.ts 中集成版本信息插件:
```typescript
import { defineConfig } from 'vite'
import { versionInfoPlugin } from '@tianyio/quality-helper/version-plugin'
export default defineConfig({
plugins: [
versionInfoPlugin({
// 开发模式下提供API接口
injectGitInfo: true,
injectBuildTime: true,
// 生产构建时生成版本文件
generateFile: true,
outputPath: 'dist/version.json',
}),
],
})
```
在 Vue 组件中使用版本信息:
```
<template>
<div class="version-info">
<p>版本: {{ versionInfo.version }}</p>
<p>构建时间: {{ versionInfo.buildTime }}</p>
<p>Git提交: {{ versionInfo.gitCommitShort }}</p>
</div>
</template>
<script setup lang="ts">
import versionInfo from 'virtual:version-info'
</script>
```
```
import { useEvent } from '@tianyio/fast-util-lib'
const { on, off, emit } = useEvent()
// 监听事件
const listenerId = on('user-login', (data) => {
console.log('用户登录:', data)
})
// 触发事件
emit('user-login', { userId: 123, username: 'john' })
// 取消监听
off('user-login', listenerId)
```
```
import { useLogger } from '@tianyio/fast-util-lib'
const logger = useLogger({
level: 'debug',
prefix: '[MyApp]'
})
logger.debug('调试信息')
logger.info('普通信息')
logger.warn('警告信息')
logger.error('错误信息')
```
```
import { useFetch } from '@tianyio/fast-util-lib'
// 发送 GET 请求
const { data, error, loading } = useFetch('/api/users')
// 发送 POST 请求
const { data: postData, error: postError } = useFetch('/api/users', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ name: 'John' })
})
```
```
import { PerformanceMonitor } from '@tianyio/fast-util-lib'
// 初始化性能监控
const monitor = new PerformanceMonitor()
// 标记性能事件
monitor.mark('app-start')
// 测量性能
monitor.measure('app-load', 'app-start', 'app-end')
// 获取性能数据
const metrics = monitor.getMetrics()
console.log(metrics)
```
```
import { initGlobalErrorHandler, ERROR_TYPE } from '@tianyio/fast-util-lib'
// 初始化全局错误处理
initGlobalErrorHandler((error, type, context) => {
console.error(`错误类型: ${type}`, error)
// 根据错误类型处理
switch (type) {
case ERROR_TYPE.JAVASCRIPT:
// 处理 JavaScript 错误
break
case ERROR_TYPE.PROMISE:
// 处理 Promise 错误
break
case ERROR_TYPE.RESOURCE:
// 处理资源加载错误
break
}
})
```
项目使用统一的 ESLint 配置,无需额外配置。
项目使用统一的 Prettier 配置,无需额外配置。
项目使用统一的 Commitlint 配置,支持以下提交类型:
- `update` - 新功能
- `defect` - 修复bug
- `docs` - 文档更新
- `style` - 代码格式化
- `refactor` - 重构
- `perf` - 性能优化
- `test` - 测试相关
- `build` - 构建相关
- `ci` - CI/CD相关
- `chore` - 其他杂项
- `revert` - 回滚
- `wip` - 进行中的工作
- `release` - 发布版本
- `hotfix` - 热修复
- `security` - 安全修复
1. **工具包版本管理**: 使用 `workspace:*` 协议确保使用工作区内的最新版本
2. **按需导入**: 只导入需要的模块,利用 Tree Shaking 减少打包体积
3. **类型安全**: 充分利用 TypeScript 类型定义
4. **错误处理**: 合理使用错误处理模块捕获和处理异常
5. **性能监控**: 在关键路径添加性能监控点