Koa是一个新的web框架,由Express幕后的原班人马打造,致力于成为web应用和API开发领域中的一个更小,更富有表现力,更健壮的基石。通过利用async函数,Koa帮你丢弃回调函数,并有力地增强错误处理。Koa并没有捆绑任何中间件,而是提供了一套优雅的方法,帮助你快速而愉快地编写服务端应用程序。
npm install koa-generator -g
koa2 koa2_stu
这比express舒服多了,自动帮你直棱好!
npm install
安装默认的框架依赖npm install art-template koa-art-template mysql
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}}
测试成功!
/* * @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 }
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