//引入 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('一、koa這是第一個中間件'); await next(); console.log('五、koa匹配路由完成之後又會返回來執行中間件'); }) app.use(async (ctx,next)=>{ console.log('二、koa這是第二個中間件'); await next(); console.log('四、koa匹配路由完成之後又會返回來執行中間件'); }) app.use(async (ctx,next)=>{ console.log('koa這是一箇中間件'); next(); if(ctx.status==404){ /*若是頁面找不到*/ ctx.status = 404; ctx.body="這是一個 404 頁面" console.log('六、404頁面'); }else{ console.log(ctx.url); console.log('七、koa匹配路由'); } }) router.get('/',async (ctx)=>{ ctx.body="首頁koa"; }) router.get('/news',async (ctx)=>{ console.log('三、koa匹配到了news這個路由'); ctx.body='koa新聞'; }) app.use(router.routes()); /*啓動路由*/ app.use(router.allowedMethods()); app.listen(3002); /* 訪問:127.0.0.1/3002 * 一、koa這是第一個中間件 二、koa這是第二個中間件 koa這是一箇中間件 / 四、koa匹配路由完成之後又會返回來執行中間件 五、koa匹配路由完成之後又會返回來執行中間件 訪問:127.0.0.1/3002/xxx 一、koa這是第一個中間件 二、koa這是第二個中間件 koa這是一箇中間件 六、404頁面 四、koa匹配路由完成之後又會返回來執行中間件 五、koa匹配路由完成之後又會返回來執行中間件 訪問:127.0.0.1/3002/news 一、koa這是第一個中間件 二、koa這是第二個中間件 koa這是一箇中間件 三、koa匹配到了news這個路由 /news 七、koa匹配路由 四、koa匹配路由完成之後又會返回來執行中間件 五、koa匹配路由完成之後又會返回來執行中間件 * */
/** 路由中間件 */ var express=require('express'); /*引入*/ var app=new express(); /*實例化*/ app.use(function(req,res,next){ console.log('一、express這是第一個中間件'); next(); console.log('五、express匹配路由完成之後又會返回來執行中間件'); }) app.use(function(req,res,next){ console.log('二、express這是第一個中間件'); next(); console.log('四、express匹配路由完成之後又會返回來執行中間件'); }) app.get('/',function(req,res){ res.send('首頁express'); }) app.get('/news',function(req,res){ console.log('三、express匹配到了news這個路由'); res.send('expres新聞'); }) /*匹配全部的路由 404*/ app.use(function(req,res){ console.log('六、express匹配到了news這個路由'); res.status(404).send('express這是404 表示路由沒有匹配到') }) app.listen(3001,'127.0.0.1'); /* * * 訪問:127.0.0.1/3001 * 一、express這是第一個中間件 二、express這是第一個中間件 四、express匹配路由完成之後又會返回來執行中間件 五、express匹配路由完成之後又會返回來執行中間件 * 訪問:127.0.0.1/3001/xxx *一、express這是第一個中間件 二、express這是第一個中間件 六、express匹配到了news這個路由 四、express匹配路由完成之後又會返回來執行中間件 五、express匹配路由完成之後又會返回來執行中間件 * 訪問:127.0.0.1/3001/news 一、express這是第一個中間件 二、express這是第一個中間件 三、express匹配到了news這個路由 四、express匹配路由完成之後又會返回來執行中間件 五、express匹配路由完成之後又會返回來執行中間件 * */