1.概念

express 是一个基于Nonde.js平台的极简、灵活的web应用开发框架,主要基于Connect中间件,并且自身封装了路由、视图处理等功能。

koa 相对更为年轻,是express原班人马基于es新特性中心开发的框架,主要基于co中间件,基于es6 generator特性的补补流程控制,解决了回调地狱问题和麻烦的错误处理。问题框架自身不包括任何中间件,很多功能需要借助第三方中间件解决。

koa2是koa的2.0版本,使用async和await来实现异步流程控制

2.区别

1.express自身集成了路由、视图处理等功能;

koa本身不集成任何中间件,需要配合路由、视图等中间件进行开发

2.异步流程控制:

express采用callback来处理异步,

koa v1采用generator,

koa v2 采用async/await。

generator和async/await使用同步的写法来处理异步,明显好于callback和promise,

async/await 在语义化上又要比generator更强。

3.错误处理:

express使用callback捕获异常,对于深层次的异常捕获不了;

koa使用try catch,能更好地解决异步捕获。

4. 中间件模型:

express基于connect中间件,线性模型;

koa中间件采用洋葱模型,所有的请求在经过中间件的时候都会执行两次,能够非常方便的执行一些后置处理逻辑。

5.Context和express只有Request和Response两个对象不同,koa增加了一个Context的对象,作为这次请求的上下文对象(在koa1中为中间件的this,在koa2中作为中间件的第一个参数传入)。同时Context上也挂载了Request和Response两个对象。和Express类似,这两个对象都提供了大量的便捷方法辅助开发

Koa2与Express相关推荐

  1. Koa2 还有多久取代 Express

    前言 Koa 是运行在 Node.js 中的 web 服务框架,小而美. Koa2 是 Koa 框架的最新版本,Koa3 还没有正式推出,Koa1 正走在被替换的路上. Koa2 与 Koa1 的最大 ...

  2. hapi返回xml格式 微信开发 node

    圈内,使用Koa2.express比较多,而我hapi使用比较多.目前在做微信公众号开发,要求返回数据是xml格式. 1.之前的返回,直接return Json2Xml: async function ...

  3. 基于React的PC网站前端架构分析

    代码地址如下: http://www.demodashi.com/demo/12252.html 本文适合对象 有过一定开发经验的初级前端工程师: 有过完整项目的开发经验,不论大小: 对node有所了 ...

  4. 从Nest到Nesk -- 模块化Node框架的实践

    文: 达孚(沪江Web前端架构师) 本文原创,转至沪江技术 首先上一下项目地址(:>): Nest:https://github.com/nestjs/nest Nesk:https://git ...

  5. 用node-koa2-mysql-bootstrap搭建一个前端论坛

    前言 在学习了koa2和express并写了一些demo后,打算自己写一个项目练练手,由于是在校生,没什么好的项目做,即以开发一个前端论坛为目标,功能需求参照一下一些社区拟定,主要有: 登录注册 个人 ...

  6. LienJack-2年前端面试心路历程(字节跳动、YY、虎牙、BIGO)

    LienJack-2年前端面试心路历程(字节跳动.YY.虎牙.BIGO) 大厂面经 字节跳动 1 面 对 tree-shaking 的了解 虽然生产模式下默认开启,但是由于经过 babel 编译全部模 ...

  7. #前端开发我们应该具备的硬核技能

    自从Vue2.0火了之后,前端开发在国内就像开了花一样,哪哪儿都是招前端要求会Vue.Angular.React任意一个.很多同学都知道前端很火!但是不知道为什么火.只知道找工作前端好找,工资也可观, ...

  8. offer收割机: 字节跳动、YY、虎牙、BIGO

    推荐:一个非常强的小哥哥, 逆袭成功-- 作者:lienjack https://juejin.im/post/5e85ec79e51d4547153d0738 由于微信禁止外链,为了更好的阅读体验, ...

  9. 2022编程语言排名, 后端开发语言选型

    文章目录 1 2022 编程语言排名 1.1 IEEE Spectrum 2021年度 1.2 TIOBE指数 2022.05 2 后端开发语言选型 2.1 特点概览 2.2 「PHP 是世界上最好的 ...

最新文章

  1. sqlserver查询自定义的函数
  2. 未来的全能保姆机器人作文_保姆机器人作文500字
  3. [Office]Word2010(windows版)粘贴不合并格式
  4. windows2003 服务器安全配置的建议
  5. 如何写一个完善的c++异常处理类
  6. Intel Realsense D435 Tensorlfow-yolov3 测试摄像头识别坐标转换成实际空间坐标的准确程度
  7. shell逐行读取每一列
  8. Java并发编程实例(synchronized)
  9. DFS-20190206
  10. div是html5新元素,HTML5编码新元素的介绍
  11. matlab para for,matlab并行之parafor
  12. Java笔记:final修饰符
  13. ESP8266AT指令集学习笔记
  14. 基于C++实现家谱管理系统
  15. HTML Javascript CGI
  16. ahocorasick使用
  17. 微信开发者工具button,input鼠标点击坐标偏移
  18. 今日小程序推荐:动态壁纸-你专属壁纸!
  19. miniconda的介绍和基本使用
  20. [转帖]中国民间秘术

热门文章

  1. LaTeX 插入高亮代码(LaTex、Python、Java、C、C++等主流语言都支持)
  2. 调用百度地图Api,定位到大西洋的问题
  3. window python 读取路径问题
  4. Exchange 2003升级到Exchange 2010 之启用Outlook Anywhere!
  5. 2021HECTF mmmmd5d5d5d5
  6. 一个研究生毕业后的职业规划 -----我今年39岁了,25岁研究生毕业,工作14年,回头看看,应该说走了不少的弯路,有一些经验和教训。
  7. No.42-VulnHub-Moria: 1.1-Walkthrough渗透学习
  8. C# 读取Excel日期格式
  9. 如何在Word中添加漂亮的代码块 | 很全的方法整理和比较
  10. 用xpath爬取豆瓣