Skip to content

Express

Express 是构建 Node.js HTTP 服务的极简 Web 框架。它围绕路由和中间件组织请求处理流程。

核心对象

对象作用
appExpress 应用实例,负责注册全局中间件、路由和配置。
req请求对象,提供路径参数、查询参数、请求体、请求头等信息。
res响应对象,用于设置状态码、响应头和响应体。
next将控制权交给下一个中间件或路由处理函数。
Router可挂载的路由与中间件容器,用于模块化。

最小应用

bash
pnpm add express
js
import express from 'express'

const app = express()

app.get('/', (req, res) => {
  res.json({ message: 'ok' })
})

app.listen(3000, () => {
  console.log('http://localhost:3000')
})

请求处理顺序

Express 按注册顺序匹配和执行中间件、路由。因此解析请求体、日志、鉴权等通用中间件应位于路由之前;404 处理和错误处理中间件位于路由之后。

js
app.use(express.json())
app.use(requestLogger)

app.use('/api/users', usersRouter)

app.use(notFoundHandler)
app.use(errorHandler)

Express 5

新项目以 Express 5 为基线。路由路径由 path-to-regexp v8 解析:通配符必须命名,例如 /*splat;可选片段使用花括号,例如 /:file{.:ext}。不再使用 Express 4 的字符串模式写法。

基于 MIT 许可发布