Node.js Express路由详解与基本中间件应用

1 下载量 90 浏览量 更新于2024-08-30 收藏 103KB PDF 举报
在Node.js开发中,Express框架是一个广泛使用的web应用开发工具,它提供了强大的路由和中间件功能。路由是HTTP应用程序的核心组成部分,它允许我们根据请求的URL路径来决定如何响应。HTTP URL的一般格式包括协议、主机、可选的端口以及请求资源的路径。Express通过app对象的get、post、put、delete等方法来定义路由规则。 首先,让我们回顾一下Express的入门实例。在安装并引入express模块后,我们可以创建一个简单的应用并设置一个基本的路由。如上所示: ```javascript var express = require('express'); var app = express(); // 定义GET请求的"/"路由 app.get('/', function (req, res) { res.send('Hello, World!'); }); // 启动服务器监听8000端口 app.listen(8000, function () { console.log('Hello, World! is listening on port 8000'); }); ``` 在这个例子中,`app.get()`方法接受两个参数:路径和回调函数。当接收到GET请求且路径匹配"/"时,回调函数会被执行,发送'Hello, World!'作为响应。 Express允许我们根据不同的HTTP方法定义路由,不仅仅是GET。例如,我们可以为POST请求定义特定的处理逻辑: ```javascript app.post('/users', function (req, res) { // 处理POST请求,例如接收用户数据 }); ``` 路由路径可以是字符串,也可以使用正则表达式模式。字符串形式的路由如`'/about'`、`'/random.text'`,会直接匹配URL的精确路径。而模式形式如`'/ab(cd)?'`,则可以匹配到'/abc'和'/abcd'。 中间件在Express中扮演着关键角色,它们是处理请求和响应之前或之后的函数。中间件可以通过app.use()方法添加,可以用来进行身份验证、日志记录、错误处理等通用任务。例如,一个简单的中间件可以在每次请求前后添加时间戳: ```javascript app.use(function (req, res, next) { console.log('Request started at:', new Date()); next(); // 传递请求到下一个中间件或路由处理函数 console.log('Request ended at:', new Date()); }); ``` 总结来说,Express的路由功能允许开发者根据URL路径动态地决定请求处理方式,结合中间件可以实现更复杂的请求处理逻辑和通用任务。通过学习和实践,你可以更好地利用Express构建高效、灵活的Web应用。