疑问?
在上面的学习中我们应该保留了几个疑问
- app.use(),这是什么?
- next参数是什么?
中间件
对于上面我们提出的两个疑问,可以很明确的告诉大家这就是中间件的用法
什么是中间件?
中间件就是一个函数,正如我们在项目中看到的一样
router.get('/list', function(req, res, next) {
res.json({
errno: 0,
data: [1, 2, 3]
})
});
其中
function(req, res, next) {
res.json({
errno: 0,
data: [1, 2, 3]
})
}
就是一个中间件,它有三个参数req
、res
、next
。对于req
和res
大家不再陌生,这里不多说,主要是next
,他是用来干嘛的。
根据小编自己的学习,对其的理解为
执行下一个符合条件的逻辑或中间件
我们可以通过app.use来直接注册中间件,也可以使用app.use('/api', fnc)或者app.get('/api', fnc)或者app.post('/api', fnc)这样带有父路由的形式来注册中间件,其实都是为了创建一个符合要求的逻辑.其中next
就代表要接着往后执行,不写的话,就代表到此为止。
对于中间件,我们可以同时在app.use中注册多个,但那样的代码会比较乱,所有我们一般除了主逻辑之外,再写两到三个验证中间件即可,这样代码会清晰一些。
网友评论