Routing 和 middleware 是 Node.js 和 Express 构建 Web 应用程序的框架中的两个重要概念。
Routing:
- Routing 是确定如何处理来自客户端的请求并在服务器上使用相应资源进行响应的过程。
- 在 中 Express,我们可以通过指定 HTTP 方法(GET、POST、PUT、DELETE 等)和对应的 URL 路径来定义路由。
- 每个路由可以有一个或多个处理函数来执行请求处理、数据库访问以及向客户端发送响应等任务。
Middleware:
- Middleware 是在请求到达最终路由处理程序之前按顺序执行的函数。
- 它们用于执行常见功能并处理中间任务,例如身份验证、日志记录、错误处理等。
- Middleware 可以应用于整个应用程序或为特定路由指定。
- 每个 middleware 接收req(请求)和res(响应)参数,并可以执行处理,将请求传递给下一个 middleware,或者通过向客户端发送响应来结束处理。
Routing 组合and Middleware 的 示例 Express:
const express = require('express');
const app = express();
// Middleware
const loggerMiddleware =(req, res, next) => {
console.log('A new request has arrived!');
next();
};
// Apply middleware to the entire application
app.use(loggerMiddleware);
// Main route
app.get('/',(req, res) => {
res.send('Welcome to the homepage!');
});
// Another route
app.get('/about',(req, res) => {
res.send('This is the about page!');
});
// Start the server
app.listen(3000,() => {
console.log('Server is listening on port 3000...');
});
在此示例中,我们定义了一个自定义 来记录传入服务器的每个新请求。 这 适用于使用该 方法的整个应用程序。 然后,我们定义了两条路由,一条用于主页( ),另一条用于关于页面( )。 最后,我们启动服务器并监听端口 3000。 middleware loggerMiddleware
middleware app.use()
'/'
'/about'
将为 每个请求执行,在将请求传递到相应的路由处理程序或 按顺序之前将消息记录到控制台。 middleware loggerMiddleware
middleware
routing 和 的这种组合 middleware 使我们能够在 Express 应用程序中处理不同的请求并有效地执行常见任务。