什么是中间件:
中间件其实就是Express提供的一堆方法,可以接收客户端发来的请求,可以对请求做出响应,也可以将请求继续交给下一个中间件继续处理。
中间件主要由两部分构成,分别是中间件方法及请求处理函数。
app.get('请求路径','处理函数') // 接收并处理get请求
app.post('请求路径','处理函数') // 接收并处理post请求
中间件可以针对同一个请求设置多个中间件,对同一个请求进行多次处理。
默认情况下,请求从上到下依次匹配中间件,一旦匹配成功,终止皮匹配。
可以调用next方法将请求的控制权交给下一个中间件,直到遇到结束请求的中间件。
比如:
// 如果不写next方法,在匹配到第一个get请求后,就会终止匹配了
app.get('/index',(req,res,next) => {
req.name = '李四';
})
app.get('/index',(req,res) => {
res.send(req.name);
})
实际代码示例:
// 引入express框架 返回一个方法
const express = require('express');
// 调用express创建网站服务器,创建app变量接收
const app = express();
app.get('/request',(req,res,next) => {
req.name = '张三';
// 调用next方法,意味着当前中间件执行完后,请求还要继续向下匹配中间件
next();
})
app.get('/request',(req,res) => {
res.send(req.name)
})
// 监听端口
app.listen(3000);
console.log('网站服务器启动成功');
执行结果如下: