Express中间件-01: 入门

中间件在接受请求的时间点及正式处理请求到发送响应时点之间提供附加功能。

Express的connect模块提供了中间件框架,通过它可以方便地在全局或路径级别或给单个路由插入中间件功能。

下面是一些由Express支持的中间件组件:

中 间 件 说 明
static 允许Express服务器以流式处理静态文件的GET请求。这个中间件是Express内置的,它可以通过express.static()访问。
express-logger 实现一个格式化的请求记录器来跟踪对服务器的请求
basic-auth-connect 提供对基本的HTTP身份验证的支持
cookie-parser 你可以从请求读取cookie并在响应中设置cookie
cookie-session 提供基于cookie的会话支持
body-parser 把POST请求正文中的JSON数据解析为rep.body属性
compression 对发给客户端的大响应提供Gzip压缩支持
csurf 提供跨站点请求伪造保护

1、在全局范围内把中间件分配给某个路径

对所有路由指定中间件,可以在Express app对象上实现use()方法。语法如下:

use([path],  middleware)

path变量: 可选,默认值为 ‘/’ ,意味着所有的路径。

middleware参数: 函数,接受三个参数,分别是req、res和next。next是要执行的下一个中间件函数;

每个中间件组件都有一个构造函数,它返回相应的中间件功能;

var express = require(‘express‘);
var bodyParser = require(‘body-parser‘);
var app = express();

app.use(‘/‘, bodyParser()); // 把body-parser中间件分配给所有路径

2、给单个路径分配中间件

var express = require(‘express‘);
var bodyParser = require(‘body-parser‘);
var app = express();

app.get(‘/home‘, bodyParser(), function(req, res) {
    res.send(‘This request was logged...‘);
});

app.get(‘/body‘, function(req, res) {
    res.send(‘This request was not logged..‘);
});

3、添加多个中间件函数

var express = require(‘express‘),
    bodyParser = require(‘body-parser‘),
    cookieParser = require(‘cookie-parser‘),
    session = require(‘express-session‘);

var app = express();
app.use(‘/‘, bodyParser())
   .use(‘‘, cookieParser())
   .use(‘‘, session());

注意:

分配函数的顺序就是它们在请求中被应用的顺序。一些中间件函数需要被添加在别的中间件函数前面。

4、使用query中间件

query中间件将一个查询字符串从URL转换为JavaScript对象,并将其保存为Request对象的query属性。

从Express 4.x开始,这个功能在内置请求解析器中存在,而不需要额外的中间件。

下面,是使用query中间件的基本方法:

var express = require(‘express‘);
var app = express();

app.get(‘/‘, function(req, res) {
    var id = req.query.id,
        score = req.query.score;
    console.log( JSON.stringify( req.query ) );
    res.send(‘done‘);
});
时间: 2024-08-30 17:49:19

Express中间件-01: 入门的相关文章

Express 教程 01 - 入门教程之经典的Hello World

目录: 前言 一.Express?纳尼?! 二.开始前的准备工作 三.测试安装之经典的Hello World 四.使用express(1)来生成一个应用程序 五.说明 前言: 本篇文章是建立在Node.js基础之上的,所以读者需要有一点Node.js基础的了解. 演示我是按照Windows操作系统来的了.Linux的其实命令都差不多,大家应该也可以发现. 我也是刚学这个,所以很多东西都是我从各大网站上照的,然后附上了我的实践操作及自己的说明吧. 有什么错误,希望大家及时指明,也请大家见谅.. 一

WebLogic中间件基础入门培训教程_WebLogic部署配置视频教程

WebLogic中间件基础入门培训教程_WebLogic部署配置视频教程 WebLogic中间件基础入门培训教程_WebLogic部署配置视频教程5 风哥主讲:介绍Oracle WebLogic中间件的概念,WebLogic概念,域,JDK,JVM,数据源,连接池,控制台,集群相关,Weblogic安装与部署. 视频学习地址: http://edu.51cto.com/course/course_id-3744.html

express 中间件

[express 中间件] 中间件(Middleware) 是一个函数,它可以访问请求对象(request object (req)), 响应对象(response object (res)), 和 web 应用中处于请求-响应循环流程中的中间件,一般被命名为 next 的变量. 1.应用级中间件 应用级中间件绑定到 app 对象 使用 app.use() 和 app.METHOD(), 其中, METHOD 是需要处理的 HTTP 请求的方法,例如 GET, PUT, POST 等等,全部小写

express中间件原理 && 实现

一.什么是express中间件? 什么是express中间件呢? 我们肯定都听说过这个词,并且,如果你用过express,那么你就一定用过express中间件,如下: var express = require('express'); var app = express(); app.listen(3000, function () { console.log('listening 3000') }); app.use(middleware1); app.use(middleware2); ap

Node.js连接Mysql,并把连接集成进Express中间件中

引言 在node.js连接mysql的过程,我们通常有两种连接方法,普通连接和连接池. 这两种方法较为常见,当我们使用express框架时还会选择使用中间express-myconnection,可以单独对mysql配置,也可以把connection集成到express中间件中. 最后送上一个node.js 连接各种主流数据库示例代码. 前提条件 1.安装mysql对应的驱动,npm install mysql 2.安装第三方插件express-connection, npm install e

【慕课网】php工程师学习计划之我的学习笔记——01 入门必学web基础 htmlcss基础课程 篇

为了进一步学习PHP,本周我选定了慕课网的PHP工程师学习计划, 从今天2015-07-06 10:24:47开始从头学习:计划本周尽快学习完成本课程,谨此作为笔记. 有个好的学习计划和思路非常非常重要,非常感谢慕课网提供本套学习计划,希望更多地学习平台能提供像这样全面一条龙学习思路清晰地教程. 计划图:链接 我的学习状况:2015-07-06 10:29:46 开始随记: php工程师学习计划笔记——01 入门必学web基础 htmlcss基础课程 篇 入门篇: text-align:cent

现代Java服务端开发核心技术之分布式数据库中间件MyCAT入门

现代Java服务端开发核心技术之分布式数据库中间件MyCAT入门 现代Java服务端开发核心技术 MyCAT系统环境搭建 如下列表展示了搭建MyCAT运行时环境所需要的软件及其版本说明. 软件名称 软件版本 os centos7.5 JDK JDK1.8u191 MySQL MySQL5.7 Mycat Mycat1.6.5 Navicat Navicat12.08 在非集群的环境下,MyCAT仅仅依赖JDK就可以良好的运行在Windows,Linux,macOS等操作系统之上. CentOS7

现代Java服务端开发核心技术之数据库中间件MyCAT入门

现代Java服务端开发核心技术之数据库中间件MyCAT入门 现代Java服务端开发核心技术 MyCAT系统环境搭建 如下列表展示了搭建MyCAT运行时环境所需要的软件及其版本说明. 软件名称 软件版本 os centos7.5 JDK JDK1.8u191 MySQL MySQL5.7 Mycat Mycat1.6.5 Navicat Navicat12.08 SecureCRT Linux客户端 在非集群的环境下,MyCAT仅仅依赖JDK就可以良好的运行在Windows,Linux,macOS

express中间件的理解

官网对它的阐述是这样的: "Express是一个自身功能极简,完全是路由和中间件构成一个web开发框架:从本质上来说,一个Express应用就是在调用各种中间件." 由此可见,中间件在Express开发中的重要性,因此这里我们就专门来总结一下中间件. 一.中间件结构 app.use([path],function) path:是路由的url,默认参数'/',意义是路由到这个路径时使用这个中间件 function:中间件函数 这个中间件函数可以理解为就是function(request,