您现在的位置:首页 >> 前端 >> 内容

koa-router中间件安装步骤

时间:2018/2/5 15:14:59 点击:

  核心提示:虽然我们可以使用原生路由,但是中间件的使用更为方便和普遍。简介先安装koa-router中间件。npm install --save koa-router新建文件demo06.js ,代码如下。con...

虽然我们可以使用原生路由,但是中间件的使用更为方便和普遍。

简介

先安装koa-router中间件。

npm install --save koa-router

新建文件demo06.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 demo06.js,打开https://localhost:3000/ 可以看到Hello Koa,打开https://localhost:3000/todo 可以看到Todo page ,使用其他路由地址会出现Not Found 。

这样我们就使用中间件简单实现了路由。

这里用到了get请求,get请求会在下一篇细讲,allowedMethods()就是保证接受的是GET请求,当客户端发送POST请求时,就会直接返回失败。

多层路由

新建demo07.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 demo07.js 打开https://localhost:3000/page/todo会显示 Hello /page/todo/ 。打开https://localhost:3000/home/todo会显示 Hello /home/todo/。

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

Tags:KO OA AR RO 
作者:网络 来源:buppt的博客