跳到正文

Express

中级通用

Express 是运行在 Node.js 上的后端 Web 框架,用来接收 HTTP 请求、组织处理逻辑并返回响应。它帮你搭建网站或 App 的接口,减少手写请求分发等基础代码,比如接收用户提交的笔记并返回保存结果。

你可能会说:「帮我给笔记应用搭个后端,让前端能提交内容、读取列表,并收到处理结果。」

读之前建议先了解

动手看看

提交笔记笔记客户端中间件接收请求笔记路由尚未处理数据存储尚未写入
1

用户点击保存,客户端把笔记作为 JSON 发到 POST /notes。运行在 Node.js 上的 Express 接住这个 HTTP 请求。

要点

  1. 1

    路由决定请求交给谁

    你可以按请求方法和路径安排处理函数。比如读取笔记列表与新增笔记,即使使用同一路径,也能通过不同方法区分,这样前端发来的请求就能找到对应逻辑。

  2. 2

    中间件串起公共处理

    解析 JSON、检查登录状态、记录请求日志,都可以放进中间件。请求通常按注册顺序经过它们,所以先解析内容,再校验数据,后面的处理函数才能拿到需要的信息。

  3. 3

    业务结果要变成响应

    处理函数读取请求数据,调用业务逻辑,再返回状态码和内容。Express 能帮你发送 JSON,但保存笔记所需的数据库操作、字段校验和权限判断,仍要由你编写或接入其他工具。

容易混淆的地方

Node.js 是运行 JavaScript 的环境,Express 是在它之上组织 Web 请求处理的框架,两者不是替代关系。NestJS 则提供模块、依赖注入等更成体系的结构,也可以使用 Express 处理底层 HTTP 请求;选 Express 时,项目结构更多由你安排。

什么时候用

适合用

  • 给网站或 App 提供笔记、订单等接口,团队希望用 JavaScript 编写后端。
  • 为 AI 工具搭建服务端接口,在服务端保管模型密钥并转发调用。
  • 接收支付平台的 Webhook,在核验请求后更新订单状态。

不适合用

  • 只是发布作品介绍和联系方式,没有服务端业务,用静态网站托管即可。
  • 项目已用 Django 提供全部接口,新增功能继续沿用它,通常没必要另建 Express 服务。

练一练

你让 AI 用 Express 给笔记应用添加“保存笔记”接口。它写好了路由,直接把请求内容返回给前端,并说“Express 会自动保存到数据库”。你该怎样判断?

让 AI 帮你做

请用 Express 为笔记应用实现新增和列表接口,使用 JSON 请求与响应。先检查现有数据库接入方式,再实现实际读写;补充字段校验、错误状态码和统一错误处理,并提供验证保存后能再次读取的测试。

接下来学什么