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('服务器启动成功')
    }
})

猜你喜欢

转载自www.cnblogs.com/rose-sharon/p/11521241.html