ToolkitX
知识库工具箱

Express 框架

路由、中间件、请求处理

25min·进阶

01. Express 基础

Express 是 Node.js 最流行的 Web 框架,提供了路由、中间件、模板引擎等核心功能。
javascript
import express from "express";

const app = express();
const PORT = process.env.PORT || 3000;

// 中间件
app.use(express.json());
app.use(express.static("public"));

// 路由
app.get("/", (req, res) => {
res.json({ message: "Hello World" });
});

app.get("/users/:id", (req, res) => {
const { id } = req.params;
res.json({ userId: id });
});

app.post("/users", (req, res) => {
const { name, email } = req.body;
res.status(201).json({ name, email });
});

app.listen(PORT, () => {
console.log("服务器运行在 http://localhost:" + PORT);
});

02. 中间件

中间件是处理请求的函数链。每个中间件可以执行操作、修改请求/响应、调用 next()。
javascript
// 日志中间件
function logger(req, res, next) {
console.log(req.method + " " + req.url);
next();
}

app.use(logger);

// 权限中间件
function auth(req, res, next) {
const token = req.headers.authorization;
if (!token) {
    return res.status(401).json({ error: "未授权" });
}
req.user = verifyToken(token);
next();
}

// 错误处理中间件(4 个参数)
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).json({ error: "服务器错误" });
});

知识测验

1/5正确 0

Express 中 next() 的作用是什么?

下一节

REST API 设计

下一节