架构设计
整体架构
┌─────────────────┐
│ CLI入口 │
│ (bin/cli.js) │
└─────────┬───────┘
│
┌─────────▼───────┐
│ 检测器 │
│ (lib/detector.js)│
└─────────┬───────┘
│
┌─────────▼───────┐
│ 报告生成 │
│ (templates/) │
└─────────┬───────┘
│
┌─────────▼───────┐
│ 文档站点 │
│ (VitePress) │
└─────────────────┘模块设计
1. CLI模块
负责解析命令行参数,调用检测器执行检测任务。
2. 检测模块
核心逻辑模块,包含21个优化项的检测实现:
- 文件系统操作
- 代码解析
- 规则匹配
- 结果收集
3. 报告模块
负责生成可视化报告:
- EJS模板渲染
- HTML报告生成
- 文档目录复制
4. 文档模块
提供详细的优化建议:
- Markdown文档
- VitePress站点
- 导航配置
数据流
- 用户执行命令行指令
- CLI解析参数并调用检测器
- 检测器扫描项目文件并执行检测逻辑
- 收集检测结果并生成报告
- 复制文档目录到项目中
- 启动VitePress文档站点
扩展性设计
新增检测项
- 在detector.js中添加新的检测方法
- 在addResult方法中添加文档链接映射
- 创建对应的优化建议文档
- 更新VitePress配置
新增命令
- 在cli.js中添加新的命令定义
- 实现对应的命令逻辑
- 更新帮助文档
性能优化
- 使用异步文件操作提高检测效率
- 使用glob模式匹配减少文件遍历
- 缓存检测结果避免重复计算