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'
}