Koa框架
Koa框架简介
Koa是一个新的web框架,由Express幕后的原班人马打造,致力于成为web应用和API开发领域中的一个更小,更富有表现力,更健壮的基石。通过利用async函数,Koa帮你丢弃回调函数,并有力地增强错误处理。Koa并没有捆绑任何中间件,而是提供了一套优雅的方法,帮助你快速而愉快地编写服务端应用程序。
Koa初体验
初始化框架
1.安装框架生成器npm install koa-generator -g
2.使用命令创建文件koa2 koa2_stu
这比express舒服多了,自动帮你直棱好!
3.cd 到目录下使用npm install
安装默认的框架依赖
4.安装模块引擎和数据库依赖npm install art-template koa-art-template mysql
5.修改app.js文件
6.测试 npm start
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}}
测试成功!
初始化模型
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