码迷,mamicode.com
首页 > 其他好文 > 详细

Koa-router的基本使用

时间:2019-09-15 11:34:01      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:基础配置   log   str   首页   建议   local   body   sync   route   

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

 

Koa-router的基本使用

标签:基础配置   log   str   首页   建议   local   body   sync   route   

原文地址:https://www.cnblogs.com/rose-sharon/p/11521241.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!