美文网首页
Koa脚手架创建项目、koa 路由模块化

Koa脚手架创建项目、koa 路由模块化

作者: 阿水日记 | 来源:发表于2018-11-27 13:31 被阅读0次

    1、全局安装
    npm install koa-generator -g

    2、创建项目
    koa koa_demo

    1、路由模块化

    1)定义路由

    routers/admin.js

    const router = require('koa-router')()//引入并实例化路由
    
    router.get('/',(ctx)=>{
        ctx.body="<h1>后台管理系统首页</h1>"
    })
    
    router.get('/user',(ctx)=>{
        ctx.body="<h1>用户管理</h1>"
    })
    
    module.exports=router
    
    2)使用路由
    const router = require('koa-router')()//引入并实例化路由
    const admin = require('./routers/admin')
    

    ......

    /**
     * 配置子路由 层级路由
     * /admin  
     * /admin/user
     */
    router.use('/admin',admin.routes())
    //开启路由
    app.use(router.routes());
    app.use(router.allowedMethods());
    
    路由层级

    2、进一步模块化层级

    image.png

    routers/admin.js

    const router = require('koa-router')()//引入并实例化路由
    const user = require('./admin/user')
    
    router.get('/',(ctx)=>{
        ctx.body="<h1>后台管理系统首页</h1>"
    })
    
    router.use('/user',user.routes()) 
    
    module.exports=router
    

    routers/admin/user.js

    const router = require('koa-router')()//引入并实例化路由
    
    router.get('/',(ctx)=>{
        ctx.body="<h1>用户列表页</h1>"
    })
    
    router.get('/add',(ctx)=>{
        ctx.body="<h1>新增用户页</h1>"
    })
    
    module.exports=router
    

    以此类推...

    3、模块化视图

    image.png
    这个就是去把视图分隔开 例如
    await ctx.render('../views/admin/user/list.html')

    相关文章

      网友评论

          本文标题:Koa脚手架创建项目、koa 路由模块化

          本文链接:https://www.haomeiwen.com/subject/zcjeqqtx.html