美文网首页
koa2.x学习3

koa2.x学习3

作者: kevin5979 | 来源:发表于2020-11-05 00:14 被阅读0次

Koa 应用生成器以及 Koa 路由模块化

  1. Koa 应用生成器
  2. Koa 搭建模块化路由/层级路由

Koa 应用生成器

  1. 全局安装

    npm install koa-generator -g
    
  1. 创建项目

    koa koa_demo
    
  1. 安装依赖

    cd koa_demo
    npm install
    
  1. 启动项目

    npm start
    

Koa 搭建模块化路由/层级路由

目录

module

routes

statics

views

app.js

package.json

app.js


const Koa = require('koa')
const router = require('koa-router')()
const render = require('koa-art-template')
const path = require('path')
// 引入子路由
const admin = require('./routes/admin.js')
const api = require('./routes/api.js')

let app = new Koa()

// 配置 koa-art-template 模板引擎
render(app,{
    path:path.join(__dirname,'views'),
    extname:'.html',
    debug:process.env.NODE_ENV !== 'production'
})


// 配置路由
router.get('/',(ctx)=>{
    ctx.body = '这是一个首页'
})

//router.get('/admin',(ctx)=>{
    //ctx.body = '这是一个后台管理页面'
//})

// 相当于启动路由 --> 配置层级路由/子路由
router.use('/admin',admin)
router.use('/api',api)

// 启动路由
app.use(router.routes()).use(router.allowedMethods())

app.listen(8008)

routes > admin.js


const router = require('koa-router')()
// 引入子路由
const user = require('/admin/user.js')
const focus = require('/admin/focus.js')

router.get('/',async (ctx)=>{
    ctx.body = '后台管理系统首页'
})

//router.get('/user',async (ctx)=>{
    //ctx.body = '后台用户管理'
//})
router.use('/user',user)

router.user('/focus',focus)

router.get('/news',async (ctx)=>{
    ctx.body = '后台新闻管理'
})

module.exports = router.routes()

routes > api.js

const router = require('koa-router')()

router.get('/',async (ctx)=>{
    ctx.body = "这是一个api"
})


router.get('/userList',async (ctx)=>{
    ctx.body = {"titel":"这是一个用户接口api"}
})

router.get('/newsList',async (ctx)=>{
    ctx.body = {"titel":"这是一个新闻接口api"}
})

module.exports = router.routes()

router > admin > user.js

const router = require('koa-router')()

router.get('/',async (ctx)=>{
    //ctx.body = "用户首页"
    await ctx.render('admin/user/index')
})

router.get('/add',async (ctx)=>{
    //ctx.body = "增加用户"
    await ctx.render('admin/user/add')
})

router.get('/edit',async (ctx)=>{
    //ctx.body = "编辑用户"
    await ctx.render('admin/user/edit')
})

module.exports = router.routes()

router > admin > focus.js

const router = require('koa-router')()

router.get('/',async (ctx)=>{
    ctx.body = "轮播图管理首页"
})

router.get('/add',async (ctx)=>{
    ctx.body = "增加轮播图"
})

router.get('/edit',async (ctx)=>{
    ctx.body = "编辑轮播图"
})

module.exports = router.routes()

views > admin > user > index.html

<h2>这是用户列表</h2>

views > admin > user > add.html

<h2>增加用户</h2>

views > admin > user > edit.html

<h2>编辑用户</h2>

注意:前台和后台匹配路由的写法不一样

END

相关文章

  • koa2.x学习3

    Koa 应用生成器以及 Koa 路由模块化 Koa 应用生成器Koa 搭建模块化路由/层级路由 Koa 应用生成器...

  • koa2.x学习1

    Koa2.x学习 开发思路和 express 差不多,最大的特点就是可以避免异步嵌套 官网:http://kaoj...

  • koa2.x学习2

    封装 Koa 操作 Mongodb 数据库的 DB 类库 官方文档:http://mongodb.github.i...

  • Koa基础

    Koa2.x 四大对象 路由 参数传递 中间件 POST 静态服务 模板引擎 koa与ejs art-templa...

  • node读源码系列---koa2源码分析

    koa介绍 koa有1.x和2.x两个版本,koa1.x基于generator,依赖co的包装。koa2.x基于p...

  • 4.2 koa源码浅析

    本节将带着大家简单看一下koa2.x最新版本的源码。 源码结构 在上一章我们已经分享了查看依赖库源码的方法,本节我...

  • 基于koa2.x实现静态资源服务器

    详细很多人都看过阮一峰的 koa框架教程 , 非常通俗易懂的入门教程,但对于koa 框架的一些内部原理,特别是中间...

  • 学习3

    1.ALT键 任务栏显示相应字母的快捷键,按相应字母,再次出现此命令下的快捷键,如F 3.公式求值键可看到每一步的...

  • 学习3

    看来已经习惯了这种生活模式,不会觉得有多冲突,累了就放松一下,无聊就学习,看似无差别的生活却少了几分忧虑。不能说是...

  • 学习-3

    Decr和Incr相关命令 Code Output Strlen和Append命令 Code Output get...

网友评论

      本文标题:koa2.x学习3

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