可使用 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');
});