Express.js中间件

本文概要

  • 什么是中间件功能
  • Express.js中间件
  • Express.js中间件的应用
Express.js中间件是不同类型的由Express.js最终请求处理程序之前路由层调用的函数。正如其名称所指定的,中间件出现在的初始请求和最终预定路线之间的中间。在堆栈中,中间件功能在它们被添加的顺序总是调用。
中间件通常用于执行状体解析任务的URL编码或JSON请求,cookie解析基本cookie处理,或在飞行中甚至构建JavaScript模块。
什么是中间件功能中间件功能是函数,获得在请求 – 响应周期的请求和响应的对象(REQ,RES)。
中间件功能可以执行以下任务:
  • 它可以执行任意代码。
  • 它可以修改请求和响应的对象。
  • 它可以结束请求响应周期。
  • 它可以调用堆栈中的下一个中间件功能。
Express.js中间件以下是Express.js应用程序可能使用的中间件的列表:
  • 应用级中间件
  • 路由器级中间件
  • 错误处理中间件
  • 内置的中间件
  • 第三方中间件
让我们举个例子就明白了什么是中间件以及它是如何工作的。
让我们最基本的Express.js应用:
文件:simple_express.js
var express = require('express'); var app = express(); app.get('/',function(req,res) { res.send('Welcome to srcmini!'); }); app.get('/help',function(req,res) { res.send('How can I help You?'); }); var server = app.listen(8000,function () { var host = server.address().address var port = server.address().port console.log("Example app listening at http://%s:%s",host,port) })

Express.js中间件

文章图片
你将看到服务器正在监听。
现在,你可以看到http://127.0.0.1:8000通过服务器在本地主机上所产生的结果
输出:
Express.js中间件

文章图片
让我们来看看下一个页面:http://127.0.0.1:8000/help
输出:
Express.js中间件

文章图片
Express.js中间件

文章图片
注意:你将看到该命令提示符没有改变。装置,它没有显示尽管GET请求在http://127.0.0.1:8000/help页处理的GET请求中的任何记录。
Express.js中间件的应用如果你想记录每次你得到一个请求,那么你可以使用一个中间件。
见下面的例子:
【Express.js中间件】文件:simple_middleware.js
var express = require('express'); var app = express(); app.use(function(req,res,next) { console.log('%s %s',req.method,req.url); next(); }); app.get('/',function(req,res,next) { res.send('Welcome to srcmini!'); }); app.get('/help',function(req,res,next) { res.send('How can I help you?'); }); var server = app.listen(8000,function () { var host = server.address().address var port = server.address().port console.log("Example app listening at http://%s:%s",host,port) })

Express.js中间件

文章图片
你将看到服务器正在监听。
现在,你可以看到http://127.0.0.1:8000通过服务器在本地主机上所产生的结果
输出:
Express.js中间件

文章图片
你可以看到,输出是相同的,但命令提示符显示GET结果。
Express.js中间件

文章图片
转到http://127.0.0.1:8000/help
Express.js中间件

文章图片
Express.js中间件

文章图片
多次重新加载页面,在命令提示符下将被更新。
Express.js中间件

文章图片
注:在上面的例子接下来被使用next()的中间件。
中间件实例详解
  • 另外,在上述实施例的中间件一个新的功能是用来经由app.use每个请求来调用。
  • 中间件是一个函数,就像途径处理,并援引了类似的方式。
  • 你可以添加的上方或下方使用相同的API更中间件。

    推荐阅读