koa 是由 Express 原班人马打造的,致力于成为一个更小、更富有表现力、更健壮的 Web 框架。使用 koa 编写 web 应用,通过组合不同的 generator,可以免除重复繁琐的回调函数嵌套,并极大地提升错误处理的效率。koa 不在内核方法中绑定任何中间件,它仅仅提供了一个轻量优雅的函数库,使得编写 Web 应用变得得心应手。
制作了DEMO已上传到了GitHub上,需要的小伙伴可以上GitHub拿取,GitHub地址:https://github.com/kiruthika-yue/Koa
记录Koa实战过程:
第一步安装:
npm i koa
npm i koa-bodyparser
第二步:
app.js:
const Koa = require('koa');
const bodyParser = require('koa-bodyparser');
const app = new Koa();
const homeRouter = require('./router/attribute.js');
app.use(bodyParser());
app.use(homeRouter.routes()).use(homeRouter.allowedMethods());
app.listen(3000, () =>{
console.log('服务器已经3000端口启动!')
});
第三步:
/router/attribute.js
const Router = require('@koa/router');
const user = new Router({prefix: '/test'});
user.get('/attribute/account/list', ctx => {
// 【get】localhost:3000/test/attribute/account/list
console.log(ctx.query.id);
ctx.body ={
code:"ok",
status: "success",
data:{
attributes: [
{
id: 1,
name: 'test1',
display_name: "A",
description: "aa",
value_type: "STRING",
required: false,
unique: false,
builtin: false,
virtual: false
},
{
id: 2,
name: 'test2',
display_name: "2",
description: "BB",
value_type: "DATE",
required: false,
unique: false,
builtin: false,
virtual: false
}
],
}
}
});
user.get('/attribute/:id', ctx => {
// 【get】localhost:3000/test/attribute/account/list
console.log(ctx.query.id);
ctx.body ={
code:"ok",
status: "success",
data:{
id: 2,
name: 'test2',
display_name: "2",
description: "BB",
value_type: "DATE",
required: false,
unique: false,
builtin: false,
virtual: false
}
}
});
module.exports = user;
第四步:启动
最终在自己需要的vue项目中配置一下proxy