Skip to content

架构设计

整体架构

┌─────────────────┐
│   CLI入口       │
│  (bin/cli.js)   │
└─────────┬───────┘

┌─────────▼───────┐
│   检测器        │
│ (lib/detector.js)│
└─────────┬───────┘

┌─────────▼───────┐
│   报告生成      │
│ (templates/)    │
└─────────┬───────┘

┌─────────▼───────┐
│   文档站点      │
│   (VitePress)   │
└─────────────────┘

模块设计

1. CLI模块

负责解析命令行参数,调用检测器执行检测任务。

2. 检测模块

核心逻辑模块,包含21个优化项的检测实现:

  • 文件系统操作
  • 代码解析
  • 规则匹配
  • 结果收集

3. 报告模块

负责生成可视化报告:

  • EJS模板渲染
  • HTML报告生成
  • 文档目录复制

4. 文档模块

提供详细的优化建议:

  • Markdown文档
  • VitePress站点
  • 导航配置

数据流

  1. 用户执行命令行指令
  2. CLI解析参数并调用检测器
  3. 检测器扫描项目文件并执行检测逻辑
  4. 收集检测结果并生成报告
  5. 复制文档目录到项目中
  6. 启动VitePress文档站点

扩展性设计

新增检测项

  1. 在detector.js中添加新的检测方法
  2. 在addResult方法中添加文档链接映射
  3. 创建对应的优化建议文档
  4. 更新VitePress配置

新增命令

  1. 在cli.js中添加新的命令定义
  2. 实现对应的命令逻辑
  3. 更新帮助文档

性能优化

  • 使用异步文件操作提高检测效率
  • 使用glob模式匹配减少文件遍历
  • 缓存检测结果避免重复计算