美文网首页
express 和 koa 的区别

express 和 koa 的区别

作者: 孟艳利 | 来源:发表于2021-05-07 17:46 被阅读0次

1. Koa 虽然同它哥 Express 说的一样,是 Web Framework。不过从架构功能设计和架构设计上看,它更像它舅舅(原谅我亲戚关系懵了)── Connect。更多是一个中间件框架,其提供的是一个架子,而几乎所有的功能都需要由第三方中间件完成。

2. Express 更为贴近 Web Framework 这一概念,比如自带 Router、路由规则等(在没有剥离bodyParser之前更为贴切);相比之下 Koa 则更为宽松,光是 Router 就有 20+ 个,自由选择嘛(Home · koajs/koa Wiki · GitHub),更为灵活。

(Koa 的 maintainer 之一)也发布了一个推荐的常用中间件合集包 koa-middlewares(http://npmjs.org/package/koa-middlewares)。

3. Express 和 Koa 最明显的差别就是 Handler 的处理方法,一个是普通的回调函数,一个是利用生成器函数(Generator Function)来作为响应器。往里头儿说就是 Express 是在同一线程上完成当前进程的所有 HTTP 请求,而 Koa 利用 co 作为底层运行框架,利用 Generator 的特性,实现“协程响应”(并不能将 Generator 等价于协程,在 V8 的邮件列表中对 Generator 的定义基本是 `coroutine-like`),然而 co 这个库对 Generator 的使用方法并非当初 Generator 的设计初衷。详细可以看这里:Koa, co and coroutine

4. 还是要感谢 TJ 创造了 co 这个大杀器吧,让我们基本完全忘记了什么是回调函数或者 callbacks hell。虽然实现方法略微取巧,但是就大大加速了开发速度这一点而言,已经足以让我们跪舔了。

总结:

Express:

优点:历史更久,文档更完整,资料更多,深入人心

缺点:不能忍的 callback

Koa:

优点:No Callback! No Callback! No Callback! 重要的事情说三遍!

缺点:Connect/Express 的中间件基本不能重用,基本要重写;依然需要更多人的支持和学习

相关文章

  • Express和 Koa 的区别

    1. Koa 原理 封装请求和响应 通过U型模型/洋葱模型构造中间件 2. 跟Express的区别 2.1 编程模...

  • express和koa的区别

    express和koa从整体上来看,koa是比express更加轻量,他没有内置的各种中间件的支持,更集中于请求处...

  • express 和 koa 的区别

    1. Koa 虽然同它哥 Express 说的一样,是 Web Framework。不过从架构功能设计和架构设计上...

  • koa-router的使用

    Koa中的路由和Express不同,Express是把路由集成在Express中,Koa则需要通过kao-rout...

  • node学习三(koa使用入门)

    express和koa文档: express: http://www.expressjs.com.cnkoa: h...

  • koa中间件-express中间件

    node开启http服务 koa开启http服务 express中间件 koa与express

  • koa入门

    koa介绍 Koa是由Express背后的团队创建的新流行的Web应用框架。它旨在成为Express的现代和极简主...

  • express 和 koa

    express req.cookies cookie-parser 处理cookie挂载 req.query, r...

  • koa2 入门教程

    koa koa 中文koa-generator 简介 koa 是一个新的 web 框架, 由 express 原班...

  • koa.js的使用(koa2)

    koa与Express简单比较Express connect 中间件 封装了 路由、视图,koa co中间件 不包...

网友评论

      本文标题:express 和 koa 的区别

      本文链接:https://www.haomeiwen.com/subject/gpledltx.html