对于express中间件的理解
关于express中间件,官网对它的阐述是这样的:“Express是一个自身功能极简,完全是路由和中间件构成一个web开发框架:从本质上来说,一个Express应用就是在调用各种中间件。”由此可见,中间件在Express开发中的重要性,因此这里我们就专门来了解一下中间件。
中间件可以分为以下五种:
- 应用级中间件
- 路由级中间件
- 错误处理中间件
- 内置中间件
- 第三方中间件
一、中间件结构
1、app.use([path],function)
path:是路由的url,默认参数‘/',意义是路由到这个路径时使用这个中间件。
function:中间件函数。
这个中间件函数可以理解为就是function(request,response,next)。
例如:
var express = require('express');
var app = express();
app.listen(9000, function () {
console.log('listening 9000')
});
app.use(middleware1);
app.use(middleware2);
app.use(middleware3);
上面代码当中的middleware1、middleware2、middleware3就是中间件,我们使用app.use,就是在使用这个中间件。所以说中间件的使用方法就是 app.use(middleware)。 请求来了之后,会依次通过各个中间件进行处理,处理完成之后,就next(),把控制权交给下一个中间件,到了最后,我们就可以很好的使用路由了。
总的来说中间件的使用就是
app.use(fn); //中间件的函数
app.use("地址", function (req, res) {
// 业务
})
二、中间件的理解总结
浏览器向服务器发送一个请求后,服务器直接通过request.定位属性的方式得到通过request携带过去的数据(有用户输入的数据和浏览器本身的数据信息)。这中间就一定有一个函数将这些数据分类做了处理,已经处理好了,最后让request对象调用使用,对的,这个处理数据处理函数就是我们要说的中间件。由此可见,中间件可以总结以下几点:
1、封装了一些处理一个完整事件的功能函数。
2、非内置的中间件需要通过安装后,require到文件就可以运行。
3、封装了一些或许复杂但肯定是通用的功能。