express和koa的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了express和koa的区别相关的知识,希望对你有一定的参考价值。
参考技术Aexpress和koa从整体上来看,koa是比express更加轻量,他没有内置的各种中间件的支持,更集中于请求处理。当然在express 4.0以后,也移除了一批中间件支持,向轻量化进发。这一点上差别其实不是特别大了。
最大的差别是中间件和回调的处理逻辑。express采用的是callback,koa采用的是async,这样在执行上express的callback中就天然不支持异步的处理,在express中处理异步可能不是你想要的执行顺序。在这里,就有了koa的经典:洋葱模型。
除此之外,koa在响应上添加了上下文的概念,使用ctx存储各种响应信息,避免直接操作res。ctx能更好的帮助我们在多层级处理中传递信息,例如ctx.body可以多层级进行组合返回数据。
express 3 -> 4 之后,移除了一大批中间件,其中和我们关系比较大的是bodyParser、compress、cookieSession、cookieParser、static、directory等。
除此之外,4改变了路由注册的方式(增量式),增加了app.route、router = express.Router()的方式,中间件的app.use也支持path的注册。详见 Moving to Express 4 。
传送门
express和koa的区别
以上是关于express和koa的区别的主要内容,如果未能解决你的问题,请参考以下文章