在进入某个路由前先经过一个过滤逻辑,这个称之为过滤器
const express = require('express')
const app = express();
let filter = (req, res, next) => {
if(req.params.name == 'admin' && req.params.pwd == 'admin'){
next()
} else {
next('用户名密码不正确')
}
}
app.get('/:name/:pwd', filter, (req, res) => {
res.send('ok')
}).listen(88)- 访问
http://localhost:88/admin/admin - 首先会进入过滤器方法 filter
- next(),不带任何参数,表示会直接进入目标路由,执行路由逻辑
- next(''),带参数,表示不会进入目标路由,并抛出错误。
表示进入所有目标路由前都会先进入过滤器方法
const express = require('express')
const app = express();
let filter = (req, res, next) => {
if(req.params.name == 'admin' && req.params.pwd == 'admin'){
next()
} else {
next('用户名密码不正确')
}
}
app.use(filter);
app.get('/:name/:pwd', (req, res) => {
res.send('ok')
}).listen(88)app.use(express.static(path.join(__dirname, '/')));var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended: false}));