Egg框架一——Egg与koa
一、Koa特点
-
koa中间件模型是``洋葱模型` 请求经过一个中间件会执行两侧
-
Context 上下文模型,相较于 request 和 response 而言更加符合语义。
-
优异的异常处理
async function onerror(ctx, next) { try { await next(); } catch (err) { ctx.app.emit('error', err); ctx.body = 'server error'; ctx.status = err.status || 500; } }
二、Egg继承与Koa
-
扩展性更强:
定义
app/extend/{application,context,request,response}.js
能快速扩展方法 -
插件:
- extend:扩展基础对象的上下文,提供各种工具类、属性。
- 一个插件可以有多个中间件组成 middleware
- config:配置各个环境下插件自身的默认配置项。