Koa-router的基本使用


Koa 路由基礎配置const Koa = require('koa');const router = require('koa-router')();

 
         
  const Koa = require('koa'); // 引入koa
  const router = require('koa-router')(); // 引入koa-router 並實例化
 const app = new Koa();
router.get(
'/',async (ctx)=>{ ctx.body='首頁' }) router.get('/news',async (ctx)=>{ ctx.body='新聞列表頁面' })
  router.get('/details',async (ctx)=>{
    ctx.body='新聞詳情頁面';
    // 從ctx中讀取get傳值  http://localhost:3000/details?id=130&name=huawei
    console.log(ctx.query);    // { id: '130', name: 'huawei' }
    console.log(ctx.querystring)   // id=130&name=huawei

    // 方法二  request
    console.log(ctx.request.url) // /details?id=130&name=huawei
    console.log(ctx.url)// /details?id=130&name=huawei

    // 方法三
    console.log(ctx.request.query)  // { id: '130', name: 'huawei' }
    console.log(ctx.request.query.id)  // 130
    console.log(ctx.request.querystring)  // id=130&name=huawei
  })
 
         
  // 動態路由  -----------------------------------------------------------------------
  router.get('/goods/:uid',async (ctx)=>{
    // 獲取動態路由傳參
    console.log('獲取動態路由傳參 : ',ctx.params);
    // http://localhost:3000/details/iphone
    if(ctx.params.uid === 'iphone'){
        ctx.body = 'iphone 產品'
    }else if(ctx.params.uid === 'oppo'){
        // http://localhost:3000/details/oppo
        ctx.body = 'oppo 產品'
    }else{  
        // http://localhost:3000/details/some
        ctx.body = 'other 產品'
    }
  })
 app.use(router.routes());// 啟動路由
app.use(router.allowedMethods()) // 可以配置也可以配置,建議配置
// 監聽接口
app.listen('3000',(err)=>{
    if(err){
        console.log('服仵器啟動失敗')
    }else{
        console.log('服務器啟動成功')
    }
})

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM