工程化清单
这节要解决什么
知道一个「能拿去实战」的 Nest 项目,起码还要具备哪些工程习惯。
清单(对照主项目逐项看)
配置
-
.env/.env.example分离 - 密钥不进 Git(
.gitignore含.env、*.db可按需) - 不同环境用环境变量切换(端口、数据库、JWT)
代码结构
- 按业务分模块(auth / users / bookmarks)
- Controller 瘦、Service 胖
- DTO 校验默认开启
质量
- 重要逻辑有手动测试步骤(curl 或前端)
- (进阶)补上 e2e / 单元测试 —— 本资料不强制,实战再加
- 统一异常,避免把堆栈直接回给客户端
运行
-
start:dev开发热重载 -
build+start:prod能生产启动(至少试一次) - 数据库迁移可重复执行(团队成员 clone 后能 migrate)
安全最低配
- 密码哈希
- JWT 密钥强度
- 接口鉴权
- 资源级 userId 校验
- (上线再做)限流、Helmet、HTTPS、更严 CORS
你现在不必一次做完
先保证「结构清楚 + 能跑 + 鉴权正确」。
工程化是随着项目变大慢慢加的,和前端项目从 demo 到规范仓库一个道理。
下一节 → 03-实战项目说明书.md