怎么理解node.js里面的middleware?
巴扎黑
巴扎黑 2017-04-17 13:58:14
[Node.js讨论组]

大家能不能简单的讲讲,或者有什么这方面的博文推荐链接的吗?

巴扎黑
巴扎黑

全部回复(2)
PHP中文网

这个搜索一下很多结果的,可以看看这一篇文章何为 connect 中间件

大家讲道理

严格上讲,并不是 Node 的中间件,而是 Express 里的中间件,而 Express 中的中间件理念,直接来自于 Connect 这个模块。

Connect 的简介是“Connect is a middleware layer for Node.js”,所以你所说的中间件,应该就是指的这个。

中间件的流程是,接收统一格式的参数,执行操作,然后调用下一个中间件。每一次操作,相对其它的操作都是独立的。也不会直接性的去干涉其它的中间件。

而对于一般的请求来讲,像在 Express 里面,有很多操作利用中间件来实现就比较合理,比如:

  • 用户的身份与鉴权

  • 参数的判断、格式化、筛选等

  • 路由的处理

  • 记录日志

在调用一个中间件时,一般包括以下几个参数:

  • req 请求对象

  • res 响应对象

  • next 调用下一个中间件的方法

  • id 路由中间件传的路由参数

前三个必有,后一个一般没有。

比如,下面就是一个最简单的中间件:

app.use(function(req, res, next){
  console.log('simple middleware');
  next();
});

这里啥都没干,只打印了一句话。

每个中间件对 req / res 对象的修改,其它的中间件也可以读取。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号