- Prettier 配置迁移为 .prettierrc.cjs,解决 ESM/CJS 兼容问题 - 优化 package.json,补全元信息、整理依赖、完善 Bun 热更新脚本 - 归档项目初始化 PRD 与任务清单到 tasks/archive,并加日期前缀 - 同步代码风格与格式化配置,提升团队协作一致性 归档文件:tasks/archive/20240610-prd-项目初始化.md, tasks/archive/20240610-tasks-prd-项目初始化.md
3.1 KiB
3.1 KiB
相关文件 (Relevant Files)
src/app.ts
- 应用主入口,负责Elysia实例初始化和全局插件注册。src/controllers/
- 路由与业务入口目录。src/services/
- 业务逻辑实现目录。src/models/
- 数据模型与类型定义目录。src/middlewares/
- 中间件实现目录。src/plugins/
- Elysia插件扩展目录。src/utils/
- 工具函数目录。src/validators/
- 参数校验规则目录。src/config/
- 配置文件目录。src/type/
- 类型定义文件目录。tests/
- 测试用例目录。public/
- 静态资源目录。.env
- 环境变量配置文件。bun.lockb
- Bun依赖锁定文件。package.json
- 项目依赖与脚本配置。README.md
- 项目说明文档。.git/
- Git版本控制目录,跟踪项目历史和协作。.gitignore
- Git忽略文件,排除不需纳入版本控制的内容。tsconfig.json
- TypeScript配置文件。
备注 (Notes)
- 单元测试通常应放置在与它们测试的代码文件相同的目录中(例如:在同一目录下的
MyService.ts
和MyService.test.ts
)。
任务 (Tasks)
-
1.0 初始化Bun.js + Elysia + TypeScript项目结构
- 1.1 初始化git仓库,配置.gitignore
- 1.2 使用Bun初始化项目,创建
package.json
和bun.lockb
- 1.3 配置TypeScript支持,生成
tsconfig.json
- 1.4 按照规范创建
src/
及各子目录(controllers、services、models等) - 1.5 创建
src/app.ts
作为应用入口,初始化Elysia实例 - 1.6 创建
.env
和README.md
基础文件 - 1.7 在所有源文件添加文件头注释模板
-
2.0 集成MySQL数据库支持
- 2.1 选择并安装MySQL驱动(如
bun-mysql
或mysql2
) - 2.2 在
src/config/
中编写数据库配置文件,支持环境变量 - 2.3 在
src/models/
中定义基础数据模型 - 2.4 编写数据库连接工具或服务,支持连接池
- 2.5 实现数据库连接测试脚本
- 2.1 选择并安装MySQL驱动(如
-
3.0 集成JWT认证与基础登录接口
- 3.1 安装
@elysiajs/jwt
插件 - 3.2 在
src/plugins/
中封装JWT插件配置 - 3.3 在
src/controllers/
中实现基础登录接口(如/api/login
) - 3.4 在
src/middlewares/
中实现JWT校验中间件 - 3.5 提供一个带JWT保护的示例接口
- 3.6 集成控制器并测试主应用
- 3.1 安装
-
4.0 集成Swagger API文档自动生成
- 4.1 安装
@elysiajs/swagger
插件 - 4.2 在
src/plugins/
中封装Swagger插件配置 - 4.3 为所有接口补充Swagger注解,完善参数/返回/错误码描述
- 4.4 验证Swagger UI可正常访问并展示所有接口
- 4.1 安装
-
5.0 配置Vitest测试、ESLint、Prettier及CI/CD工具链
- 5.1 安装并配置Vitest,编写基础单元测试和接口测试
- 5.2 安装并配置ESLint(含TypeScript规则)
- 5.3 安装并配置Prettier,统一代码风格
- 5.4 配置Git钩子或CI自动检查代码规范
- 5.5 编写GitHub Actions等CI/CD示例配置