CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
Node.js 框架与 ORM/课时/综合练习
RawBlame
课时目录12 节

Node.js 框架与 ORM

  1. 01Node 框架生态
  2. 02Fastify
  3. 03Hono
  4. 04fetch 与 HTTP 客户端
  5. 05Drizzle ORM
  6. 06Knex 查询构建
  7. 07Sequelize
  8. 08模板引擎
  9. 09Vitest 测试
  10. 10日志
  11. 11生产运行
  12. 12综合练习

综合练习

Fastify + Drizzle 小 API。

40 分钟

综合练习

把本 track 串起来:Fastify + Drizzle + PostgreSQL 实现 Mini Tracks API,Vitest 验收,pm2 或 Docker 可启。目标是对照 node-practice,用 现代 Node 栈 重做一版。

学习目标

  • 独立完成可运行的 REST 服务(含 DB)
  • 覆盖 schema 校验、迁移、测试、日志
  • 说清与 NestJS / Spring 主线的分工

项目:Tracks API(Fastify 版)

端点

方法路径说明
GET/health健康检查
GET/api/tracks列表,分页 ?limit=&offset=
GET/api/tracks/:slug详情,404 统一 JSON
POST/api/tracks创建,body schema 校验

技术要求

  • Fastify + JSON Schema(nwf-fastify)
  • Drizzle + Postgres(nwf-drizzle、postgresql-essentials)
  • drizzle-kit 迁移进 Git
  • Vitest + inject 至少 4 则用例(nwf-vitest、testing-essentials)
  • pino 结构化日志,无 secrets
  • README:env 示例、npm test、curl 样例

推荐目录

tracks-api/
├── src/app.js          # buildApp 导出供测试
├── src/db/schema.js
├── drizzle/
├── tests/tracks.test.js
├── .env.example
└── README.md

可选 TypeScript 重写 schema(typescript-essentials)。

必走流程

1. 本地 Postgres 建库 + migrate
2. 实现路由 → 绿测
3. pm2 或 docker run 验证 /health
4. git 分支 + commit(message 清晰)
5. 对照 node-practice:列出 Express 版多写了/少写了什么

自检清单

  • POST 非法 body 返回 400,非 500
  • slug 重复 insert 有明确错误处理
  • 测试不依赖固定端口(用 inject)
  • 我能解释为何此练习不选 Nest(规模小、要练 Fastify+Drizzle)
  • 知道何时应升级到 nestjs-essentials
  • 延伸(选做)

    • 出站 fetch 同步 Java 主 API(:8080)做聚合 BFF(nwf-fetch)
    • Hono 边缘路由只缓存 GET /api/tracks(nwf-hono)
    • 性能对比 nodejs-advanced-essentials

    小结

    Schema、类型 SQL、注入测试、结构化日志——Node 框架 track 的合格交付。 下一步:Nest 结构化后端,或 Node 进阶性能与运维。

    加载本节练习…
    ← 上一课生产运行