-
express中next()方法使用时候的特点
-
在实际中,我们设置路由的时候,有可能设置非常相近的路由
-
所以会造成返回结果不符合需求的状况
-
我们可以通过调换路由的顺序解决问题,但是路由如果非常多的时候
-
我们就不容易设置位置,所以我们需要借助next
-
-
一般当有对应的用户名过来后,我们需要到数据库中查找对应的数据然后匹配
- 如果可以匹配到后,就停止寻找路由,如果不能匹配就继续寻找路由
var express = require('express');
var app = express();
/*在实际中,我们设置路由的时候,有可能设置非常相近的路由
* 所以会造成返回结果不符合需求的状况
* 我们可以通过调换路由的顺序解决问题,但是路由如果非常多的时候
* 我们就不容以设置位置,所以我们需要借助next*/
app.get('/:admin/:pwd',function (req, res,next) {
console.log('admin');
next();
/*一般当有对应的用户名过来后,我们需要到数据库中查找对应的数据然后匹配
* 如果可以匹配到后,就停止寻找路由,如果不能匹配就继续寻找路由*/
// if(正确){
//
// res.send()
// }else{
//
// next();
// }
res.send('管理员用户登录');
});
app.get('/wmx/123',function (req, res) {
console.log('username');
res.send('普通用户登录');
});
app.listen(3000);
-
一般在实际中, 如果有静态路由设置和其他的路由,我们一般先设置静态路由
-
虽然静态路由也会阻断对应的其他路由,但是静态路由是固定,灵活性不高
-
但是其他路由可以随便设置,灵活性高,所以我们一般不调换位置
-
只要给其他的路由设置和静态路由不一样的路由就可以
-
有时候,我们也可以给对应的静态路由设置别名,就是给他设置一个路径
-
例如/jingtai,那么我们访问对应的静态资源的时候,需要带着这个路径
-
var express = require('express');
var app = express();
/*一般在实际中,如果有静态路由设置和其他的路由,我们一般先设置静态路由
* 虽然静态路由也会阻断对应的其他路由,但是静态路由是固定,灵活性不高
* 但是其他路由可以随便设置,灵活性高,所以我们一般不调换位置
* 只要给其他的路由设置和静态路由不一样的路由就可以
*有时候,我们也可以给对应的静态路由设置别名,就是给他设置一个路径
* 例如/jingtai,那么我们访问对应的静态资源的时候,需要带着这个路径*/
//设置静态路由
// app.use('/',express.static('./public'));
//给静态路由设置别名
app.use('/jingtai',express.static('./public'));
//其他路由
app.get('/test',function (req, res) {
res.send('123');
});
app.listen(3000);
网友评论