`
364434006
  • 浏览: 591836 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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点以前的访问。

 

分享到:
评论

相关推荐

    Node.js中间件connect.zip

    connect 是 Node.js 的中间件,捆绑了超过 18 个中间件,同时还提供丰富的第三方中间件。 标签:connect

    Node.js初级+进阶

    Connect是Node.js的一个基础HTTP服务器框架,它提供了一些中间件来处理HTTP请求。静态文件中间件允许服务器直接发送静态资源(如HTML、CSS、图片等)给客户端,无需额外的处理逻辑。 ### 学习实践 教程中提到的...

    Node.js代理中间件http-proxy-middleware.zip

    http-proxy-middleware 是一套 Node.js 代理中间件 for connect, express 和 browser-sync。安装$ npm install --save-dev http-proxy-middleware配置var proxyMiddleware = require('http-proxy-middleware'...

    深浅node.js.rar

    学习node.js 前端 深入浅出 Node.js (一):什么是 Node.js 深入浅出 Node.js (二): Node.js&NPM; 的安装与配置 深入浅出 Node.js (三):...深入浅出 Node.js (八): Connect 模块解析(之二)静态文件中间件

    前端学习笔记-Node.js

    Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它让JavaScript得以在服务器端执行,开启了前后端同语言的时代。Node.js利用非阻塞I/O和事件驱动模型,使其在处理高并发场景时表现出高效性能。在黑马程序员的...

    Node.js.in.Action 最终版

    - **章节内容**:Connect是Node.js的一个流行中间件库,本章将详细介绍Connect的功能和用法。 - **核心知识点**: - Connect中间件的基本概念。 - 如何利用Connect简化HTTP请求处理。 - Connect提供的各种内置...

    Node.js in Action, Second Editi - Bradley Meck Alex Young.pdf

    本书不仅涵盖了Node.js的基础知识,还深入探讨了如何使用Node.js构建高效、可扩展的应用程序。 **版权信息:** - **出版商:** Manning Publications Co. - **版权所有:** ©2017 by Manning Publications Co. All ...

    高清彩版 Node.js Design Patterns, 2nd Edition

    ### Node.js设计模式第二版——掌握Node.js的强大组件与模式 #### 书籍概述 《Node.js Design Patterns, 2nd Edition》是一本专注于Node.js框架的设计模式书籍,由Mario Casciaro和Luciano Mammino共同编写。本书...

    Node.js-基于nodejsmysql构建的数据表格管理系统后端

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它以其异步、非阻塞I/O模型而闻名,使得它在处理高并发网络应用时表现出色。而MySQL则是一款流行的开源关系型数据库管理系统,适合用于存储和管理结构化数据。...

    connect-assetmanager, 用于处理 static 资产的连接( node.js )的中间件.zip

    connect-assetmanager, 用于处理 static 资产的连接( node.js )的中间件 连接 assetmanager用于处理 static 资产的连接( node.js )的中间件。 安装通过 npm:$ npm install connect-assetmanager/post钩子请确保签

    Node.js-Deno网络服务器的中间件框架包括一个路由器中间件

    在IT行业中,Node.js和Deno都是用于构建服务器端JavaScript应用的流行平台。Node.js以其非阻塞I/O模型和高效的性能赢得了开发者们的青睐,而Deno则由Node.js的创始人Ryan Dahl推出,旨在解决Node.js的一些痛点,比如...

Global site tag (gtag.js) - Google Analytics