深入浅出Node.js中间件机制

我们用一个实际的例子来看看中间件是如何运作的。假设我们有一个非常简单的Express应用,它只有两个中间件函数:

复制代码
const express = require('express');
const app = express();

app.use((req, res, next) => {
   
  console.log('第一个中间件');
  next();
});

app.use((req, res, next) => {
   
  console.log('第二个中间件');
  res.send('Hello World!');
});

app.listen(3000, () => {
   
  console.log('服务器运行在3000端口');
});

在这个例子中,当一个请求到达服务器时,首先会触发第一个中间件,打印出"第一个中间件"。然后,通过调用next()函数,控制权传递给下一个中间件,打印出"第二个中间件",并发送一个响应给客户端。

这种链式调用的模式使得中间件可以按需添加或移除,而不会影响到其他部分的代码。这就像是拼装积木一样,你可以根据需要选择不同的积木块(中间件),构建出符合你需求的应用程序。

此外,中间件还可以根据特定的条件来决定是否执行。例如,你可以创建一个只在生产环境中运行的日志记录中间件,或者一个仅在请求来自特定IP地址时才激活的安全检查中间件。这种灵活性使得中间件成为了Express框架的核心特性之一。

相关推荐
爱加班的猫13 小时前
Node.js 中 require 函数的原理深度解析
前端·node.js
Python私教17 小时前
从“Hello World”到“高并发中间件”:Go 语言 2025 系统学习路线图
学习·中间件·golang
UrSpecial18 小时前
进程间通信:消息队列
中间件
冲!!19 小时前
使用nvm查看/安装node版本
前端·node.js·node·nvm
萌萌哒草头将军1 天前
Node.js v24.6.0 新功能速览 🚀🚀🚀
前端·javascript·node.js
行星0081 天前
mac 通过homebrew 安装和使用nvm
macos·npm·node.js
kngines2 天前
【Node.js从 0 到 1:入门实战与项目驱动】1.3 Node.js 的应用场景(附案例与代码实现)
node.js
xrkhy2 天前
nvm安装详细教程(卸载旧的nodejs,安装nvm、node、npm、cnpm、yarn及环境变量配置)
前端·npm·node.js
专注API从业者3 天前
Python/Node.js 调用taobao API:构建实时商品详情数据采集服务
大数据·前端·数据库·node.js
Q_Q19632884753 天前
python基于Hadoop的超市数据分析系统
开发语言·hadoop·spring boot·python·django·flask·node.js