第02講 koa2路由

注意

與express不同 - 要單獨安裝路由模塊

npm install koa-router --save
// 引入koa
const koa = require('koa');
const app = new koa();

// 注意:引入的方式
const router = require('koa-router')();

router.get('/',async (ctx)=>{
    ctx.body = 'Hello koa2';
});

router.get('/news',async (ctx)=>{
    ctx.body = '新聞 page';
});

router.get('/newsContent',async (ctx)=>{
    let url = ctx.url;
    // query: 返回格式化好的參數(shù)
    // querystring: 返回的是請求字符串
    // 從 request 中獲取 GET 請求
    let request = ctx.request;
    let req_query = request.query;
    let req_querystring = request.querystring;
    // 從上下文直接獲取
    let ctx_query = ctx.query;
    let ctx_querystring = ctx.querystring;
    ctx.body = {
        url,
        req_query,
        req_querystring,
        ctx_query,
        ctx_querystring
    };
});

// 動態(tài)路由(可傳遞多個值)
router.get('/newsContent/:newsId',async (ctx)=>{
    ctx.body = { params: ctx.params};
});

// 作用:啟動路由
app.use(router.routes());
// 作用:這是官方文檔的推薦用法,我們可以看到 router.allowedMethords() 用在 router.routes() 之后,
// 所有,在當所有的路由中間件最后使用.此時根據(jù) ctx.status 設置 response 響應頭
app.use(router.allowedMethods());
                
// 監(jiān)聽端口
app.listen(3000,function(){
    console.log('啟動成功');
});
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容