乐闻世界logo
搜索文章和话题

ExpressJs中的中间件是什么?

4 个月前提问
4 个月前修改
浏览次数18

1个答案

1

Express 中的中间件是一个函数,它可以访问请求对象(req)、响应对象(res)和应用程序的请求/响应循环中的下一个中间件函数。这个下一个中间件函数通常由一个名为 next 的变量表示。

中间件的功能包括:

  • 执行任何代码。
  • 修改请求和响应对象。
  • 结束请求/响应循环。
  • 调用堆栈中的下一个中间件。

如果当前中间件没有结束请求/响应循环,则必须调用 next() 方法将控制权传递给下一个中间件,否则请求就会挂起。

Express 应用程序是由一系列中间件函数调用组成的。这些函数可以执行以下任务:

  • 执行代码、更改输入和输出。
  • 验证请求的数据。
  • 处理请求后的清理。
  • 添加额外的功能到 Express 框架中。

示例

假设我们需要记录所有传入请求的日志,我们可以使用如下的中间件:

javascript
const express = require('express'); const app = express(); // 日志中间件 app.use((req, res, next) => { console.log(`${new Date().toISOString()} - ${req.method} request to ${req.url}`); next(); // 继续到下一个中间件 }); app.get('/', (req, res) => { res.send('Hello World!'); }); app.listen(3000, () => { console.log('Server is running on http://localhost:3000'); });

在这个例子中,中间件首先打印出请求的时间、方法和 URL,然后调用 next() 继续处理链中的下一个中间件。如果不调用 next(),则请求将在此中止,客户端将不会收到任何响应。

2024年7月21日 20:57 回复

你的答案