//引入 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匹配路由完成以后又会返回来执行中间件
* */