koa读作抠而/抠阿,是jk对express的改写。
和express的区别
express的中间件是线性的而koa的中间件是u型的,也有人说koa的模型是洋葱模型。
较于express,koa使用起来更方便,但两者总体差别不大。两者的作者也都是jk。
app.xxx相关的api
app.use(fn)----------------------------------插入中间件fn
app.on('error',fn)----------------------------错误处理
app.emit--------------------------------------触发事件
例子:
app.use(async (ctx, next) => {
console.log("使用中间件")
await next();
});
app.on('error',()=>{
console.log("出错了")
})
ctx.xxx相关的api
ctx.req------------------------------------Node.js封装的request请求
ctx.res------------------------------------Node.js封装的respones请求
ctx.request-------------------------------koa封装的request请求
ctx.response-----------------------------koa封装的respond请求
ctx.state---------------------------------跨中间件分享数据
通常推荐用node封装的请求即可,两者差别不大