25 - express next() 和静态路由

  • 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);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容