express中间件的意思
1, 中间件是一个模块。在js中,模块意味着函数,所以中间件是一个函数。那么这个函数长什么样子? 这还要从中间件的功能说起,它拦截http 服务器提供的请求和响应对象,执行逻辑,然后或者结束响应,或者把它传递给下一个中间件组件。
拦截http服务器提供的请求和响应对象,这表明它必须接受两个参数: 请求对象(req),响应对象(res),就是http.createServer回调函数中的两个参数;
执行逻辑,就是在函数内对请求和响应对象进行操作;
或者把它传递给下一个中间件组件,那么它还有一个可选的参数, next, 它是一个回调函数,在函数内部调用,就表示这个组件已经完成了它的工作,可以执行下一个中间件了。
根据描述,创建两个简单的中间件:logger将请求输出到控制台中,hello用hello world 作为请求的响应
// logger中件间,有next参数
let logger =function(req,res,next){
console.log(req.url);
next();
}
// hello 中间件,没有next 参数。
let hello = function(req,res){
res.setHeader(200, {"content-type": "text/html"});
res.end("hello world");
}