[Node.js框架学习笔记]Koa框架初体验

Koa框架

Koa框架简介

Koa是一个新的web框架,由Express幕后的原班人马打造,致力于成为web应用和API开发领域中的一个更小,更富有表现力,更健壮的基石。通过利用async函数,Koa帮你丢弃回调函数,并有力地增强错误处理。Koa并没有捆绑任何中间件,而是提供了一套优雅的方法,帮助你快速而愉快地编写服务端应用程序。

Koa初体验

初始化框架

1.安装框架生成器npm install koa-generator -g

2.使用命令创建文件koa2 koa2_stu

[Node.js框架学习笔记]Koa框架初体验
这比express舒服多了,自动帮你直棱好!

3.cd 到目录下使用npm install安装默认的框架依赖

4.安装模块引擎和数据库依赖npm install art-template koa-art-template mysql

5.修改app.js文件

[Node.js框架学习笔记]Koa框架初体验

6.测试 npm start

[Node.js框架学习笔记]Koa框架初体验

app.js中默认访问index.js路由

const router = require('koa-router')()
router.get('/', async (ctx, next) => {
  await ctx.render('test', {
    title: 'Hello Koa 2!'
  })
})

router.get('/string', async (ctx, next) => {
  ctx.body = 'koa2 string'
})

router.get('/json', async (ctx, next) => {
  ctx.body = {
    title: 'koa2 json'
  }
})

module.exports = router

我们给’/'路由添加一个test.html模板,这个模板在views里面创建,然后写一个{{title}}
[Node.js框架学习笔记]Koa框架初体验
测试成功!

初始化模型

1.创建models目录->创建stu.js模型文件

/*
 * @Author: 41
 * @Date: 2021-11-06 13:49:29
 * @LastEditors: 41
 * @LastEditTime: 2021-11-06 13:54:28
 * @Description: 
 */
// 1.引用mysql模块
var mysql=require('mysql')
// 2.创建连接账号
var connection=mysql.createConnection({
    host:'localhost',
    user:'root',
    password:'admin888',
    database:'nodejs'
})
// 3.连接
connection.connect()


exports.mysql=(sql)=>{
    var promise=new Promise(function(res,rej){
        connection.query(sql,function(error,results,fields){
            if(error) rej(error)
            resolve(results)
        })
    })
    return promise
}

2.修改app.js创建路由

const stus = require('./routes/stus')  //添加这两句
app.use(stus.routes(), stus.allowedMethods())

stus.js

/*
 * @Author: 41
 * @Date: 2021-11-06 15:04:23
 * @LastEditors: 41
 * @LastEditTime: 2021-11-06 15:06:21
 * @Description: 
 */
const router = require('koa-router')()

router.prefix('/stus')

router.get('/', function (ctx, next) {
  ctx.body = 'this is a stu list!'
})

router.get('/create', function (ctx, next) {
  ctx.body = 'this is stu create page'
})

router.get('/docreate', function (ctx, next) {
    ctx.body = 'this is stu docreate'
  })

module.exports = router
上一篇:C++基础 数组指针与函数


下一篇:voa start