Koa Router

326 阅读1分钟

1.引入koa-router

  npm install koa-router --save

koa与express不同的地方在于,很多以前express集成的内容,koa进行了解耦,需要单独安装

在app.js文件中,引入组件

let Koa = require('koa')
let Router = require('koa-router')
// 组件引用
let app = new Koa()
let router = new Router()

然后在文件中使用


拓展:

koa-router的实例化的另一种方法

let router = require('koa-router')()

// 可链式写法或者采用express的单独写法
router
  .get('/', async (ctx) => {
    ctx.body = 'Main'
  })
  .get('/news', async (ctx) => {
    ctx.body = 'News'
  })

ctx是请求的上下文,包括request与response

设置好路由以后,需要启动路由并设置请求头

app
  // 启动路由
  .use(router.routes())
  // 设置请求头参数等 (建议进行设置)
  .use(router.allowMethods())

监听服务器端口

app.listen(3000)

2、动态路由

动态匹配路由的方式

router
  .get('/news/:aid/:bid', (ctx) => {
    console.log(ctx.params)
  })

其中,动态路由就会以key value方式被ctx传递

localhost:3000/news/example/ext为url作为例子

{
  aid: 'example'
  bid: 'ext'
}