Node.js基础中间件Connect

Node.js提供了20多种内置中间件供我们使用:

  1. logger: 用户请求日志中间件
  2. csrf: 跨域请求伪造保护中间件
  3. compress: gzip压缩中间件
  4. basicAuth: basic认证中间件
  5. bodyParser: 请求内容解析中间件
  6. json: JSON解析中间件
  7. urlencoded: application/x-www-form-urlencode请求解析中间件
  8. multipart: multipart/form-data请求解析中间件
  9. timeout: 请求超时中间件
  10. cookieParser: cookie解析中间件
  11. session: 会话管理中间件
  12. cookieSession: 基于cookies的会话中间件
  13. methodOverride: HTTP伪造中间件
  14. reponseTime: 计算响应时间中间件
  15. staticCache: 缓存中间件
  16. static: 静态文件处理中间件
  17. directory: 目录列表中间件
  18. vhost: 虚拟二级域名映射中间件
  19. favicon: 网页图标中间件
  20. limit: 请求内容大小限制中间件
  21. query: URL解析中间件
  22. errorHadnler: 错误处理中间件

具体用法及其API请参考:

exampleapi

 

当然,我们也可以自己实现自定义中间件,其实中间件可以简单理解为一个回调事件函数。

 

var connect = require("connect");
var app = connect();

//注册自定义中间件(将中间件添加到队列中,等待执行)
app.use(access).use(test);

function access(req,res,next){
	var hour = new Date().getHours();
	if(hour < 9){
		res.writeHead(503,{"Content-Type":"text/plain;charset=utf-8"});
		res.end("禁止访问");
	}else{
		next();//转入下一个中间件处理
	}
}

function test(req,res,next){
	res.writeHead(200,{"Content-Type":"text/plain"});
	res.end("Hello World !!!");
}
app.listen(3000);

 这里定义了一个中间件,并将其注册到了中间件队列中(具体原理可以参考Node.js事件循环),中间件处理逻辑是禁止9点以前的访问。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值