切换·Esc 返回

后端框架Backend Framework

后端入门
提供现成项目结构,帮助编写接口、处理数据和错误

后端框架提供注册路由、读取参数、返回响应和连接数据库等常见做法。它不是一门新语言;先理解一次请求怎样进入、处理和返回,再选择与语言和部署平台匹配的框架。

语言TypeScript
框架Next.js / Express
提供路由 · 中间件 · 响应

什么时候用

  • 优先使用项目已经选好的框架,遵循现有目录和写法
    先沿用项目结构
    src/├─ routes/orders.ts├─ services/payment.ts└─ app.ts
    新代码放进团队已经熟悉的位置
  • 小项目选简单方案;团队大、规则多时再考虑更强约束
    规模决定约束
    小型 APIExpress · 少量目录多人项目NestJS · 明确模块
  • 先读官方最小示例:一条 GET、一条 POST、一种错误处理
    先跑通官方最小示例
    GET /hello200 OKPOST /items201 Created错误400 Bad Request
  • 让 AI 说明代码放在哪个文件、由谁调用、如何验证
    让 AI 交代上下文
    放在哪routes/orders.ts谁调用POST /api/orders怎么验npm test

什么时候不用

  • 把框架名字当能力:换框架不会自动解决业务设计问题
    框架不能替你决定业务
    换成 NestJS✓ 目录更整齐 退款规则? 仍未定义
  • 一个项目同时混用多个后端框架,路由和配置各管一套
    一条请求穿过三套框架
    Next RouteExpressFastify
    路由、插件和错误处理各管一套
  • 不看版本就复制旧教程:配置和 API 很可能已经变化
    教程版本与项目版本不一致
    旧教程Framework v3 当前项目Framework v5
    先查当前版本的官方文档
  • 只会运行模板,不理解请求从哪里进、响应从哪里出
    模板能启动,但请求流程说不清
    请求从哪进?谁处理?响应从哪出?
组成结构 · Anatomy
路由入口公共处理业务处理
1路由Route根据 HTTP 方法和路径,把请求交给对应处理函数
2公共处理Middleware在业务代码前后统一完成日志、身份、校验或错误转换
3处理函数Handler执行这条端点自己的业务规则,并返回明确响应
常见变体 · Variants
全栈框架Full-stack
Next.js · Nuxt
页面和后端放在一个项目里
轻量 API 框架Minimal API
Express · Fastify · Flask
快速搭几条清晰接口
带结构的框架Structured
NestJS · Django
模块和规则较多的团队项目
典型使用场景
Next.js Route Handler
Next.js Route Handler页面与接口放在同一项目
app/api/posts/route.tsexport async function GET() { return Response.json(posts)}
访问 GET /api/posts
Express 小型 API
Express API用少量路由构建小服务
app.get("/api/tasks", listTasks)app.post("/api/tasks", createTask)app.use(errorHandler)
FastAPI 数据接口
FastAPISchema 自动生成接口文档
POST /items创建商品Request bodyItemSchemaResponse201
Swagger 文档可直接调试
Django 内容管理后台
Django 后台成熟内容项目的管理界面
文章1,284 条作者42 人待审核18 条
框架自带模型、权限和管理后台