Koa是由Express框架原班人马打造的全新web框架,与Express风格相似,底层都是沿用同一套Http基础库,可是有几项显著差异:web
async function onerror(ctx, next) {
try {
await next();
} catch (err) {
ctx.app.emit('error', err);
ctx.body = 'server error';
ctx.status = err.status || 500;
}
}
复制代码
众所周知,Koa框架是一个极简框架扩展性很是强,而Egg在此基础上作了加强。shell
在Egg框架中,能够经过定义app/extend/{application,context,request,response}.js
来扩展Koa框架中四个框架的原型,如在app/extend/context.js
中定义以下代码:app
module.exports = {
get isXXX() {
return xxx;
}
}
复制代码
在controller.js中,能够利用刚才的定义:框架
exports.handler = ctx => {
ctx.body = ctx.isXXX ? 'is xxx' : 'is not xxx';
};
复制代码
Egg提供了更增强大的插件机制,一个插件能够包含:异步