express和koa的区别
1. 语法区别
experss 异步使用 回调
koa1 异步使用 generator + yeild
koa2 异步使用 await/async
2. 中间件区别
koa采用洋葱模型,进行顺序执行,出去反向执行,支持context传递数据
express本身无洋葱模型,需要引入插件,不支持context
express的中间件中执行异步函数,执行顺序不会按照洋葱模型,异步的执行结果有可能被放到最后,response之前。
这是由于,其中间件执行机制,递归回调中没有等待中间件中的异步函数执行完毕,就是没有await中间件异步函数
3. 集成度区别
express 内置了很多中间件,集成度高,使用省心,
koa 轻量简洁,容易定制