主题
Express
Express 是构建 Node.js HTTP 服务的极简 Web 框架。它围绕路由和中间件组织请求处理流程。
核心对象
| 对象 | 作用 |
|---|---|
app | Express 应用实例,负责注册全局中间件、路由和配置。 |
req | 请求对象,提供路径参数、查询参数、请求体、请求头等信息。 |
res | 响应对象,用于设置状态码、响应头和响应体。 |
next | 将控制权交给下一个中间件或路由处理函数。 |
Router | 可挂载的路由与中间件容器,用于模块化。 |
最小应用
bash
pnpm add expressjs
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 的字符串模式写法。
