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
学习node.js 前端 深入浅出 Node.js (一):什么是 Node.js 深入浅出 Node.js (二): Node.js&NPM; 的安装与配置 深入浅出 Node.js (三):...深入浅出 Node.js (八): Connect 模块解析(之二)静态文件中间件
http-proxy-middleware 是一套 Node.js 代理中间件 for connect, express 和 browser-sync。安装$ npm install --save-dev http-proxy-middleware配置var proxyMiddleware = require('http-proxy-middleware'...
connect-assetmanager, 用于处理 static 资产的连接( node.js )的中间件 连接 assetmanager用于处理 static 资产的连接( node.js )的中间件。 安装通过 npm:$ npm install connect-assetmanager/post钩子请确保签
Connect是使用称为“中间件”的“插件”为提供的可扩展HTTP服务器框架。 var connect = require ( 'connect' ) ; var http = require ( 'http' ) ; var app = connect ( ) ; // gzip/deflate outgoing responses ...
模仿软件 Node.js/io.js HTTP 服务器中间件,用于推断和定义正确的 MIME 内容类型作为响应标头它与 Web 框架无关,可在 Connect、Express、Restify、Sails 中正常工作……其中实现了标准的基于连接的中间件接口: ...
Node.js中间件库旨在添加会话支持。 该项目已准备就绪,可以使用,但尚未通过良好的测试,因此请谨慎使用。快速开始有关特定框架的完整用法示例,请参见。 安装auzy和会话存储(在此示例中为Redis)npm install --...
打造Node.js全栈开发工程师,视频教程内容包括以下内容:一、Node基础知识:学习Node中的核心模块、核心变量,如何操作文件以及安装管理第三方的模块,为大家后面进入服务器端的学习打下扎实的基础;二、Node服务器...
connect-owin的目标是实现此规范,以通过connect框架将node.js用作Web服务器。 connect-owin导出返回连接中间件的函数。 该函数将OWIN .NET程序集文件的路径作为参数。 以下代码显示如何将connect-owin与基于...
Connect-pinba 将数据自动统计从您的 node.js 应用程序发送到 Pinba 服务器。 查看以获取源代码。 安装 你可以通过安装这个模块: $> npm install connect-pinba 用法 这个中间件必须在第一个被调用的地方。 ...
连接暴力 中间件,通过延迟响应来防止暴力破解。 作为npm软件包提供。 安装 $ npm install connect-bruteforce 用法 查看 测验 $ npm test 执照 参见
本文实例讲述了Node.js基于connect和express框架的多页面实现数学运算。分享给大家供大家参考,具体如下: 1、使用connect框架 .use方法用于绑定中间件到...app-connect.js var connect = require('connect'); //np
res / next可与Connect,Express甚至http一起使用的中间件格式API文档当前已禁用可以选择挂载从RAML定义生成的API文档内置错误处理中间件I18n支持将验证路径映射到可读字符串(支持i18n) 内置响应处理即将推出根据...
用于连接和 node.js 的 SDCH 中间件。 有关更多信息,请参阅。 内部使用模块。 请记住,该规范并非在所有方面都准确。 例如: Chromium 已经支持 SDCH-over-HTTPS,因为它现在被认为不会引入额外的风险。 ...
比Express.js快5倍安装npm install next-connect// oryarn add next-connect用法next-connect通常在: // pages/api/hello.jsimport nc from "next-connect" ;const handler = nc ( ) . use ( someMiddleware ( ) )...
它具有类似于node.js的直观API,没有必需的依赖关系,并且不会对您施加任何特定的持久性,会话或中间件方法。例子对于内置的node.js HTTP模块: // Like socket.io, authom will intercept requests// for you to ...
Layman.js 是 Senchalabs Connect 的简化版本。 它允许您轻松管理 node.js Web 服务器的多层请求 <--> 响应处理程序(又名中间件)。 内容 反馈 你好外行 以下是“hello world”的“外行”版本。 Layman 使用...
注意:从v1.2.0开始,此模块需要Node.js v10或更高版本。贡献欢迎和鼓励捐款! 请按照的说明进行操作。用法最简单的用法是: const MetricsMiddleware = require ( 'http-metrics-middleware' )const express = ...
使用Sails构建自定义的企业级Node.js应用... Sails操作与Connect中间件兼容,在大多数情况下,您可以将代码简单地从现有Express项目粘贴到Sails中,并使所有工作正常进行。 您还可以使用WebSocket与API通讯,反之亦然。
superfeedr-connect-middleware 用于 Node.js 的 PuSH 和 Superfeedr 中间件(Connect/Express)