1.项目目录
2.入口文件
根目录/app.js
/** * koa 路由模块化 */ const Koa = require('koa'); const router = require('koa-router')(); // 引入子模块(子路由) const admin = require('./routes/admin.js'); const api = require('./routes/api.js'); // 实例化 var app = new Koa(); // 配置路由 router.get('/', (ctx) => { ctx.body = '这是一个首页'; }) /** * /admin 配置子路由(层级路由) * /admin/user */ router.use('/admin', admin.routes()); /** * /api/newslist 新闻列表的api */ router.use('/api', api); /*在模块里面暴露路由并且启动路由*/ // 启动路由 app.use(router.routes()).use(router.allowedMethods()) app.listen(8008);
3.层级路由
根目录/routes/admin.js
const router = require('koa-router')(); router.get('/', (ctx) => { ctx.body = '后台管理系统首页'; }) router.get('/user', (ctx) => { ctx.body = '用户管理'; }) router.get('/focus', (ctx) => { ctx.body = '轮播图管理'; }) router.get('/news', (ctx) => { ctx.body = '新闻管理'; }) module.exports = router;
根目录/routes/api.js
const router = require('koa-router')(); router.get('/', (ctx) => { ctx.body = { "title": "这是一个api" } }) router.get('/newslist', (ctx) => { ctx.body = { "title": "这是一个新闻接口" } }) router.get('/focus', (ctx) => { ctx.body = { "title": "这是一个轮播图的api" } }) module.exports = router.routes();
.