node基础:koa2和expres的区别是什么

express是一个基于node.js平台的极度简单灵活的web应用开发框架,主要是基于connect中间件,并且自己封装了路由、视图处理、等功能,使用人数众多。

koa相对来说更加年轻,是express原班人马基于es的新特性重新开发的一个新的框架,主要基于co中间件,基于es6 generator特性的异步流程控制,解决了回掉地狱问题和麻烦的错误处理,问题框架自生不包含任何的中间件,很多功能都需要借助第三方中间件来解决,koa2是koa的2.0版本,使用async/await来实现的异步流程控制。

koa和express的主要区别:

1、express自身集成了路由视图处理等功能,koa本身不集成任何的中间件,需要配置路由视图等中间件进行开发;

2、异步流程的控制:express多采用的是callback的方式来处理异步,koa v1是采用generator,koa2则采用的是async/await,generator和async/await使用同步的方法来处理异步,明显要好于callback和promise,而async/await在语义上又比generator要好很多;

3、中间件模型:express基于connect中间件,线性模型,koa中间件采用的是洋葱模型,所有的请求在经过中间件的时候都会执行俩次,能够非常方便的后置一些处理逻辑;

4、context:和express只有request和response俩个对象不同,koa增加了一个context的对象,作为这次请求的上下文对象(在koa1中为中间件的this,在koa2中作为中间件的第一个参数传入),同时,context上也挂在了request和response俩个对象,和express类似,这俩个对象提供了大量的边界方法辅助开发。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值