从零一起学koa2(3)---koa-router中间件

简介

先安装koa-router中间件。

npm install --save koa-router

新建文件app.js ,代码如下。

const Koa = require('koa');
const Router = require('koa-router');
 
const app = new Koa();
const router = new Router();
 
router.get('/', function (ctx, next) {
    ctx.body="Hello Koa";
})
router.get('/todo',(ctx,next)=>{
    ctx.body="Todo page"
});
 
app.use(router.routes()).use(router.allowedMethods());
app.listen(3000,()=>{
  console.log('starting at port 3000');
});

执行node app.js,打开http://localhost:3000/ 可以看到Hello Koa,打开http://localhost:3000/todo 可以看到Todo page ,使用其他路由地址会出现Not Found 。
这样我们就使用中间件简单实现了路由。
这里用到了get请求,get请求会在下一篇细讲,allowedMethods()就是保证接受的是GET请求,当客户端发送POST请求时,就会直接返回失败。

多层路由

新建app.js文件,代码如下:

const Koa = require('koa');
const Router = require('koa-router');
const app = new Koa();

//子路由1
let home = new Router();
home.get('/home', async(ctx)=>{
    ctx.body="Hello /home/home/";
});
home.get('/todo',async(ctx)=>{
    ctx.body="Hello /home/todo/";
});
//子路由2 
let page = new Router();
page.get('/home', async(ctx)=>{
    ctx.body="Hello /page/home/";
});
page.get('/todo',async(ctx)=>{
    ctx.body="Hello /page/todo/";
});
//父级路由
let router = new Router();
router.use('/home',home.routes(),home.allowedMethods());
router.use('/page',page.routes(),page.allowedMethods());

app.use(router.routes()).use(router.allowedMethods());
app.listen(3000,()=>{
  console.log('starting at port 3000');
});

通过上面代码的方法,先设置子类路由,再设置父类路由。
执行node app.js 打开http://localhost:3000/page/todo会显示 Hello /page/todo/ 。打开http://localhost:3000/home/todo会显示 Hello /home/todo/

这样就可以根据自己的需求,设计不同层次的路由了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值