express4.X--中间件

Express是nodejs Web应用框架,简洁灵活,可以快速地搭建一个完整功能的网站。

Express中间件

中间件是一个函数,可以调用请求或响应对象以及下一个中间件函数(通常命名为next),也即是处理用户的请求。

中间件的功能包括:

a.执行任何代码。
b.修改请求和响应对象。
c.终结请求-响应循环。
d.调用堆栈中的下一个中间件。
如果当前中间件没有终结请求-响应循环,则必须调用 next() 方法将控制权交给下一个中间件,否则请求就会挂起。

中间件的分类:

a.应用级中间件:绑定到app对象上,使用app.use([path],callback)和app.get/post();

b.路由级中间件:绑定的对象为express.Router();

c.错误处理中间件:app.use(function(err,req,res,next){console.log(err.stack)}),其中参数必须是4个,否则被认为是常规中间件,无法进行错误处理;

d.内置中间件:express.static 是 Express 唯一内置的中间件。负责在 Express 应用中提托管静态资源;

e.第三方中间件:express4.X需要的中间件需要自己进行下载,在使用过程中,可以根据node的相应提示,进行安装。一些常见的内置中间件详见后文;

常见的第三方中间件:

body-parser:完成请求体消息的三种转换功能:json(),urlencoded(),multipart(),这三个中间件可以分别使用,body-parser是三者的统一封装;
compression:对response数据进行压缩处理;
cookie-parser: 对Cookie头进行处理,然后通过req.cookies属性来访问所有cookie对象;
cookie-session:提供对Session的支持。

链接:

http://www.expressjs.com.cn/guide/using-middleware.html(Express 入门指南)

http://www.jianshu.com/p/ccd5ce72ed03(express中间件的实现)

原文地址:https://www.cnblogs.com/Catherine001/p/7228530.html