1.7 KiB
1.7 KiB
ADR-001: 使用 Express 5 作为后端框架(Node.js)
Status: Accepted (2026-08-26)
Background
「备考中枢」是个人单用户公务员备考数据中枢,需要一组 REST API 对接 Vue3 前端,完成题库录入、刷题、错题本、模考、申论、备考计划、统计聚合。数据量级为个人(1-2 万题/年),无多租户、无高并发、无复杂分布式。用户已拍板后端用 Express。
Decision
采用 Express 5.x(Node.js 24 LTS,ESM,全 TypeScript) 作为后端框架。版本锚定:
- Express
5.2.x(已是 npmlatest默认线,要求 Node ≥ 18) - Node.js
24.x(Active LTS)
选型理由:
- 技术矩阵定位:Express 在 MVP 后端框架对比中「MVP 速度 5/5、性能 3/5」,正对本项目「简单 CRUD + 全栈 JS」场景(对照
mvp-stack.md)。 - 生态成熟:129M 周下载、文档完善、中间件丰富、任意 Node 开发可秒上手,学习成本最低。
- 与前端同用 TS/JS,全栈统一语言与类型系统,
packages/shared可共享领域类型。 - 单用户低并发下性能完全够用(瓶颈在 JSON 数据层,非框架本身)。
Consequences
- 正面:开发速度快、团队熟悉、生态成熟、部署极简(一个 Node 容器)。
- 负面:Express 5 无内置依赖注入、中间件顺序随代码增长需谨慎;性能不承诺高并发(个人场景无碍)。
- 权衡:Express 5 是 npm 默认线,新项目直接用;v4 已入 Maintenance(EOL ≥ 2026-10-01),不采用。
Related ADRs
- ADR-003(本地 JSON 数据层)
- ADR-004(全 TS strict + zod)
- ADR-005(monorepo 布局)
- ADR-006(垂直切片 + 单一契约源)