码迷,mamicode.com
首页 > 其他好文 > 详细

详解express与koa中间件执行顺序模式分析

时间:2020-01-30 21:08:19      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:div   找不到   404页面   code   span   首页   ons   edm   wait   

//引入 koa模块

var Koa=require(‘koa‘);
var router = require(‘koa-router‘)();  /*引入是实例化路由** 推荐*/
var app=new Koa();

//Koa中间件

//匹配任何路由  ,如果不写next,这个路由被匹配到了就不会继续向下匹配

//www.域名.com/news
app.use(async (ctx,next)=>{
    console.log(‘1、koa这是第一个中间件‘);
    await next();

    console.log(‘5、koa匹配路由完成以后又会返回来执行中间件‘);
})
app.use(async (ctx,next)=>{
    console.log(‘2、koa这是第二个中间件‘);
    await next();

    console.log(‘4、koa匹配路由完成以后又会返回来执行中间件‘);
})

app.use(async (ctx,next)=>{
    console.log(‘koa这是一个中间件‘);
    next();

    if(ctx.status==404){   /*如果页面找不到*/
        ctx.status = 404;
        ctx.body="这是一个 404 页面"
        console.log(‘6、404页面‘);
    }else{
        console.log(ctx.url);
        console.log(‘7、koa匹配路由‘);
    }
})



router.get(‘/‘,async (ctx)=>{

    ctx.body="首页koa";

})
router.get(‘/news‘,async (ctx)=>{

    console.log(‘3、koa匹配到了news这个路由‘);
    ctx.body=‘koa新闻‘;
})


app.use(router.routes());   /*启动路由*/
app.use(router.allowedMethods());
app.listen(3002);


/*
访问:127.0.0.1/3002
* 1、koa这是第一个中间件
2、koa这是第二个中间件
koa这是一个中间件
/
4、koa匹配路由完成以后又会返回来执行中间件
5、koa匹配路由完成以后又会返回来执行中间件

访问:127.0.0.1/3002/xxx
1、koa这是第一个中间件
2、koa这是第二个中间件
koa这是一个中间件
6、404页面
4、koa匹配路由完成以后又会返回来执行中间件
5、koa匹配路由完成以后又会返回来执行中间件
访问:127.0.0.1/3002/news
1、koa这是第一个中间件
2、koa这是第二个中间件
koa这是一个中间件
3、koa匹配到了news这个路由
/news
7、koa匹配路由
4、koa匹配路由完成以后又会返回来执行中间件
5、koa匹配路由完成以后又会返回来执行中间件

* */
/**
 路由中间件
 */


var express=require(‘express‘); /*引入*/

var app=new express();  /*实例化*/



app.use(function(req,res,next){
    console.log(‘1、express这是第一个中间件‘);
    next();
    console.log(‘5、express匹配路由完成以后又会返回来执行中间件‘);
})

app.use(function(req,res,next){
    console.log(‘2、express这是第一个中间件‘);
    next();
    console.log(‘4、express匹配路由完成以后又会返回来执行中间件‘);
})


app.get(‘/‘,function(req,res){
    res.send(‘首页express‘);

})


app.get(‘/news‘,function(req,res){
    console.log(‘3、express匹配到了news这个路由‘);
    res.send(‘expres新闻‘);
})
/*匹配所有的路由  404*/
app.use(function(req,res){

    console.log(‘6、express匹配到了news这个路由‘);
    res.status(404).send(‘express这是404 表示路由没有匹配到‘)

})
app.listen(3001,‘127.0.0.1‘);

/*
*
* 访问:127.0.0.1/3001
* 1、express这是第一个中间件
2、express这是第一个中间件
4、express匹配路由完成以后又会返回来执行中间件
5、express匹配路由完成以后又会返回来执行中间件
* 访问:127.0.0.1/3001/xxx
*1、express这是第一个中间件
2、express这是第一个中间件
6、express匹配到了news这个路由
4、express匹配路由完成以后又会返回来执行中间件
5、express匹配路由完成以后又会返回来执行中间件
* 访问:127.0.0.1/3001/news
1、express这是第一个中间件
2、express这是第一个中间件
3、express匹配到了news这个路由
4、express匹配路由完成以后又会返回来执行中间件
5、express匹配路由完成以后又会返回来执行中间件

* */

 

详解express与koa中间件执行顺序模式分析

标签:div   找不到   404页面   code   span   首页   ons   edm   wait   

原文地址:https://www.cnblogs.com/loaderman/p/11511444.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!