Node.js提供了20多种内置中间件供我们使用:
- logger: 用户请求日志中间件
- csrf: 跨域请求伪造保护中间件
- compress: gzip压缩中间件
- basicAuth: basic认证中间件
- bodyParser: 请求内容解析中间件
- json: JSON解析中间件
- urlencoded: application/x-www-form-urlencode请求解析中间件
- multipart: multipart/form-data请求解析中间件
- timeout: 请求超时中间件
- cookieParser: cookie解析中间件
- session: 会话管理中间件
- cookieSession: 基于cookies的会话中间件
- methodOverride: HTTP伪造中间件
- reponseTime: 计算响应时间中间件
- staticCache: 缓存中间件
- static: 静态文件处理中间件
- directory: 目录列表中间件
- vhost: 虚拟二级域名映射中间件
- favicon: 网页图标中间件
- limit: 请求内容大小限制中间件
- query: URL解析中间件
- errorHadnler: 错误处理中间件
具体用法及其API请参考:
当然,我们也可以自己实现自定义中间件,其实中间件可以简单理解为一个回调事件函数。
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点以前的访问。
相关推荐
connect 是 Node.js 的中间件,捆绑了超过 18 个中间件,同时还提供丰富的第三方中间件。 标签:connect
Connect是Node.js的一个基础HTTP服务器框架,它提供了一些中间件来处理HTTP请求。静态文件中间件允许服务器直接发送静态资源(如HTML、CSS、图片等)给客户端,无需额外的处理逻辑。 ### 学习实践 教程中提到的...
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 前端 深入浅出 Node.js (一):什么是 Node.js 深入浅出 Node.js (二): Node.js&NPM; 的安装与配置 深入浅出 Node.js (三):...深入浅出 Node.js (八): Connect 模块解析(之二)静态文件中间件
Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它让JavaScript得以在服务器端执行,开启了前后端同语言的时代。Node.js利用非阻塞I/O和事件驱动模型,使其在处理高并发场景时表现出高效性能。在黑马程序员的...
- **章节内容**:Connect是Node.js的一个流行中间件库,本章将详细介绍Connect的功能和用法。 - **核心知识点**: - Connect中间件的基本概念。 - 如何利用Connect简化HTTP请求处理。 - Connect提供的各种内置...
本书不仅涵盖了Node.js的基础知识,还深入探讨了如何使用Node.js构建高效、可扩展的应用程序。 **版权信息:** - **出版商:** Manning Publications Co. - **版权所有:** ©2017 by Manning Publications Co. All ...
### Node.js设计模式第二版——掌握Node.js的强大组件与模式 #### 书籍概述 《Node.js Design Patterns, 2nd Edition》是一本专注于Node.js框架的设计模式书籍,由Mario Casciaro和Luciano Mammino共同编写。本书...
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它以其异步、非阻塞I/O模型而闻名,使得它在处理高并发网络应用时表现出色。而MySQL则是一款流行的开源关系型数据库管理系统,适合用于存储和管理结构化数据。...
connect-assetmanager, 用于处理 static 资产的连接( node.js )的中间件 连接 assetmanager用于处理 static 资产的连接( node.js )的中间件。 安装通过 npm:$ npm install connect-assetmanager/post钩子请确保签
在IT行业中,Node.js和Deno都是用于构建服务器端JavaScript应用的流行平台。Node.js以其非阻塞I/O模型和高效的性能赢得了开发者们的青睐,而Deno则由Node.js的创始人Ryan Dahl推出,旨在解决Node.js的一些痛点,比如...