zoukankan      html  css  js  c++  java
  • 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();

    .

  • 相关阅读:
    小程序(二)
    React 之 项目搭建
    mac 终端 常用命令
    css 之 动画(翻转动画例子)
    css 之 单位
    Git 常见操作
    css 之 页面常用布局
    mac版vscode快捷键
    JSX
    Rem适配原理
  • 原文地址:https://www.cnblogs.com/crazycode2/p/10987024.html
Copyright © 2011-2022 走看看