本文koa-router版本是7.2.0
路由定义:根据请求url路径,通过判断或正则匹配返回对应的页面。
示例:
原生示例:
|
|
一个简单的koa-router例子
|
|
多个子router的使用
|
|
路由嵌套
|
|
路由前缀
|
|
Router的结构
Router构造函数
Layer构造函数
Router对象
可以看出layer存储匹配规则等
path的匹配
分两层,Router遍历所有layer,返回匹配的matched对象
Layer层通过正则匹配路径
Router.use()
Router通过use()将methods方法与Router联系起来app.use(router.routes()).use(router.allowedMethods());
router.routes()返回一个中间件,用于对请求发起路由匹配,把一些router参数加入ctx对象,执行router.routes(),返回的是一个dispatch(ctx, next)方法
Router.allowedMethods()
执行router.allowedMethods(),返回allowedMethods(ctx, next)方法,判断请求的method是否被允许
app.use(router.routes()).use(router.allowedMethods());