koa2入門--02.koa2路由

首先輸入在項目文件下使用cmd,輸入 npm install koa-router --save npm

const koa = require('koa');//引入koa
const Router = require('koa-router');

//配置路由 ,ctx 上下文context ,包含了request和response等信息
var router =  new Router();
router.get('/',async (ctx)=>{
    ctx.body = '首頁'; //至關於 res.writeHead(); res.end();
}).get('/news',async (ctx)=>{
    ctx.body = '這是一個新聞頁面';
});
const app = new koa();//實例化koa
app.use(router.routes()); //啓動路由 app.use(router.allowedMethods());//官方配置

另外一種便捷寫法app

const koa = require('koa');
var router = require('koa-router')();

var app = new koa();
router.get('/',async (ctx)=>{
    ctx.body = '首頁';
});
router.get('/news',async (ctx)=>{
    ctx.body = '新聞列表頁面';
});
router.get('/newscontent',async(ctx)=>{
    ctx.body = '新聞詳情';
});

app.use(router.routes());//啓動路由
app.use(router.allowedMethods());//官方配置,請求錯誤的時候返回一個狀態


app.listen(3000);

獲取get傳值koa

const koa = require('koa');
var router = require('koa-router')();

var app = new koa();
router.get('/',async (ctx)=>{
    ctx.body = '首頁';
});
router.get('/news',async (ctx)=>{
    ctx.body = '新聞列表頁面';
});
//獲取get傳值
router.get('/newscontent',async(ctx)=>{
    //從ctx中讀取get值
    console.log(ctx.query); //獲取的是格式化的對象,例{id:'123'}
    console.log(ctx.querystring); //獲取的是url的字符串 ,例:'id=123'
    console.log(ctx.request); //獲取請求相關的信息,包括method,url,header等信息
    ctx.body = '新聞詳情';
});

app.use(router.routes());//啓動路由
app.use(router.allowedMethods());//官方配置,請求錯誤的時候返回一個狀態


app.listen(3000);

動態路由async

const koa = require('koa');
var router = require('koa-router')();
var app = new koa();

router.get('/',async(ctx)=>{
    ctx.body = '首頁';
});
//動態路由 
router.get('/news/:params',async(ctx)=>{
    //aid 爲自定義參數名,能夠經過ctx.params訪問
    //若是有多個動態傳值,則能夠寫成 '/news/:params1/:params2'的形式
    ctx.body = ctx.params;
});
app.use(router.routes());
app.use(router.allowedMethods());
app.listen(3000);
相關文章
相關標籤/搜索