koa koa-router路由层级

可使用 koa-router 类创建模块化、可挂载的路由句柄。Router 实例是一个完整的中间件和路由系统,因此常称其为一个 “mini-app”。

下面的实例程序创建了一个路由模块,并加载了一个中间件,定义了一些路由,并且将它们挂载至应用的路径上。

在 app 目录下创建名为 home.js 的文件,内容如下:

const Router = require('koa-router');

let router = new Router();
router.get('/',async(ctx)=>{
    ctx.body="这是前台首页";
})


router.get('/news',async(ctx)=>{
    ctx.body ='这是前台新闻页面';
})
router.get('/user',async(ctx)=>{
    ctx.body ='这是用户页面';
})


module.exports=router;

然后在主应用中加载子路由模块:


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

let home=require('./module/home.js');
let admin=require('./module/admin.js');


//装载所有子路由
let router = new Router();
router.use('/admin',admin.routes());
router.use('/',home.routes());

//加载路由中间件
app.use(router.routes()); 
app.use(router.allowedMethods());  

app.listen(3000,()=>{
    console.log('[demo] server is starting at port 3000');
});