详解express与koa中间件执行顺序模式分析
Posted loaderman
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了详解express与koa中间件执行顺序模式分析相关的知识,希望对你有一定的参考价值。
//引入 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中间件执行顺序模式分析的主要内容,如果未能解决你的问题,请参考以下文章