- 基础概念:路由是将请求映射到处理程序的机制。Node.js 中,通常使用框架(如 Express.js)来处理路由。
- 安装 Express.js:使用 npm(Node 包管理器)安装 Express.js:
npm install express
- 创建应用程序:创建一个新的 Node.js 应用程序并导入 Express.js:
const express = require("express"); const app = express();
- 定义路由:使用
app.get()
,app.post()
,app.put()
,app.delete()
等方法定义路由。例如,GET 请求的路由:app.get("/", (req, res) => { res.send("Hello World!"); });
- 启动服务器:使用
app.listen()
启动服务器。例如,监听 3000 端口:app.listen(3000, () => console.log("App listening on port 3000"));
中级指南
- 使用路由参数:使用冒号 (:) 定义路由参数。例如,获取用户 ID 的路由:
app.get("/users/:id", (req, res) => { res.send(`User ID: ${req.params.id}`); });
- 中间件:中间件是在处理请求之前或之后执行的函数。例如,验证请求的中间件:
const verifyToken = (req, res, next) => { ...; next(); }; app.use("/protected", verifyToken);
- 分组路由:使用
app.use()
分组相关的路由。例如,将所有用户相关路由分组:const userRouter = express.Router(); userRouter.get("/", ...); userRouter.post("/", ...); app.use("/users", userRouter);
- 路由优先级:Express.js 按定义顺序处理路由。早先定义的路由具有更高的优先级。
专家指南
- 自定义路由:使用
app.route()
创建自定义路由,允许定义所有 HTTP 方法。例如,一个通用路由:app.route("/api/v1/users") .get(...) .post(...) .put(...) .delete(...);
- RESTful API 设计:遵循 RESTful API 设计原则,如使用正确的 HTTP 状态代码和资源路径。
- API 版本化:使用路由参数或 URL 查询参数对 API 进行版本化。例如,API v2 的路由:
app.get("/api/v2/users/:id", ...);
- WebSocket 路由:使用 Socket.IO 或其他 WebSocket 框架实现实时通信。
- GraphQL 路由:可以使用 Apollo Server 等框架集成 GraphQL 路由。