koa 路由模块化(一)

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();

.

posted @ 2019-06-06 21:50  每天都要进步一点点  阅读(505)  评论(0编辑  收藏  举报