路由系统
Express 路由系统是处理客户端请求的核心机制。它根据请求的 URL 和 HTTP 方法,将请求分发到对应的处理函数。
路由的定义
使用 app.METHOD(path, handler) 定义路由,METHOD 是 HTTP 动词,如 GET、POST、PUT、DELETE 等。
app.get('/user', (req, res) => {
res.send('获取用户信息');
});
app.post('/user', (req, res) => {
res.send('创建新用户');
});
`
路由路径支持多种模式
-
字符串路径 例如
/about、/user/profile -
路径参数 使用冒号
:定义动态参数:
app.get('/user/:id', (req, res) => {
res.send(`用户 ID 是:${req.params.id}`);
});
- 正则表达式 可以使用正则匹配路径:
app.get(/^\/ab?cd$/, (req, res) => {
res.send('正则匹配路径');
});
查询参数
通过 req.query 访问 URL 中的查询字符串参数:
例如请求 URL: /search?keyword=express
app.get('/search', (req, res) => {
res.send(`搜索关键词是:${req.query.keyword}`);
});
路由方法链
可以为同一路径绑定多个处理函数:
app.route('/book')
.get((req, res) => {
res.send('获取书籍列表');
})
.post((req, res) => {
res.send('添加新书籍');
});
模块化路由
将路由拆分到独立模块,使用 express.Router() 管理:
const express = require('express');
const router = express.Router();
router.get('/list', (req, res) => {
res.send('用户列表');
});
module.exports = router;
主应用引入并使用:
const userRouter = require('./routes/user');
app.use('/user', userRouter);
总结
Express 路由系统灵活强大,支持多种路径匹配方式和请求方法,结合中间件机制能实现复杂的请求处理逻辑。
相关内容
- 常用中间件列表 本章节将介绍一些常用的 Express 中间件,它们可以帮助您简化应用的开发。中间件用于处理请求、响应,或在请求处理过程中执行额外的操作。本章节包括一些常见的中...
- 常见错误及解决方案 本章节将介绍在开发 Express 应用时常见的错误及其解决方案。通过了解这些常见问题及其处理方法,您可以更有效地调试和优化您的应用。
- 推荐阅读资源 本章节提供了一些推荐的学习资源,包括书籍、在线教程、视频课程和社区资源,帮助您深入了解 Express 和相关技术栈,提升开发技能。
- Express 对比 Koa 和 Next.js 本章节将对比 Express、Koa 和 Next.js 三个常见的 Node.js 框架,分析它们的特点、使用场景、优势和劣势,帮助开发者根据项目需求选择合适...
- 什么是 Node.js? Node.js 是基于 Chrome V8 引擎的 JavaScript 运行时环境,支持在服务器端运行 JavaScript,实现高性能非阻塞 I/O,广泛应...
- 什么是 Express? Express 是基于 Node.js 的极简灵活的 Web 应用框架,简化服务器端开发流程,提供强大的路由、中间件支持,广泛用于构建高性能 Web 服务和 A...