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

2018-11-27  本文已影响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')
上一篇下一篇

猜你喜欢

热点阅读