Koa
Koa 是一个小型,易扩展的 web 框架。 由于源码很少,是一个很好的 web 框架源码研究项目。
Koa 引用的包
Koa 本身源代码极少, 可以通过依赖的包了解一个 web 服务器需要考虑的细节. 另外 koa 将常用 http 功能以 koa-* 的方式分割成中间件。
- only 将一个对象下划线开始的属性理解为私有,不暴露外部。 类似 loadh 中的 _.pickup
- on-finished http req/res 结束时执行。 类似 go defer 关键字。
- statuses http 响应状态码规范化。
- depd 打印废弃通知(提示用户 api 变动)
- delegates 原型修改. 将 req/res 方法绑定到 context.
- cookies 获取/设置 cookie
- accepts http 响应类型
其他
- 定义函数名对调试和日志更友善
- koa-compose 用于合并多个中间件
- DEBUG=koa* 开启调试
- 错误处理 try-catch -> app.on(‘error’) ->app.onerror