# 源码树和文件组织 ## 现有项目结构 ```text d8d-starter/ ├── src/ │ ├── client/ # React前端代码 │ │ ├── admin/ # 管理后台界面 │ │ ├── home/ # 用户主页界面 │ │ ├── components/ # 共享组件 │ │ ├── hooks/ # React Hooks │ │ └── lib/ # 工具库 │ ├── server/ # Node.js后端代码 │ │ ├── api/ # API路由处理 │ │ │ ├── auth/ # 认证路由 │ │ │ ├── users/ # 用户管理路由 │ │ │ └── roles/ # 角色管理路由 │ │ ├── modules/ # 业务模块 │ │ ├── middleware/ # 中间件 │ │ ├── types/ # TypeScript类型 │ │ └── utils/ # 工具函数 │ └── share/ # 前后端共享代码 ``` ## 新文件组织 ```text d8d-starter/ ├── src/ │ ├── client/ # 现有结构保持不变 │ ├── server/ │ │ ├── api/ │ │ │ ├── users/ │ │ │ │ ├── __tests__/ # 新增:API测试 │ │ │ │ ├── [id]/ │ │ │ │ ├── get.ts │ │ │ │ └── index.ts │ │ ├── modules/ │ │ │ ├── users/ │ │ │ │ ├── __tests__/ # 新增:服务测试 │ │ │ │ ├── user.entity.ts │ │ │ │ ├── user.service.ts │ │ │ │ └── role.entity.ts │ │ └── utils/ │ │ ├── __tests__/ # 新增:工具测试 │ │ ├── generic-crud.service.ts │ │ ├── generic-crud.routes.ts │ │ └── errorHandler.ts # 需要增强的错误处理 │ └── share/ # 现有结构保持不变 ``` ## 集成指南 - **文件命名**: 保持现有kebab-case命名约定 - **文件夹组织**: 遵循功能模块划分,添加__tests__文件夹 - **导入/导出模式**: 使用ES模块,保持现有别名系统(@/)