代码之家  ›  专栏  ›  技术社区  ›  Emilio

Koa如何帮助避免“猴子补丁”和“Hapi”或“Express”不做相同的事情?

  •  0
  • Emilio  · 技术社区  · 7 年前

    https://www.quora.com/Should-I-learn-Express-js-or-Koa-js-for-node/answer/Yvan-Scher?share=1 http://blog.onclickinnovations.com/koa-js/

    Koa在这方面有什么特别之处?在这方面,Hapi和Express怎么不一样呢?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Evert    7 年前

    做了两年的Koa快递.js最近,我遇到了一个很大的例子。

    假设您有一个发出响应的控制器,并且您希望拦截该响应并对其执行某些操作(例如:gzip-it,或将其转换为其他格式)。

    function myMw(ctx, next) {
       await next();
       ctx.response.body = gzip(ctx.response.body);
    }
    

    上面是一个虚构的例子,但是你明白了。

    使用express,您的代码看起来像是绝对的垃圾。在express gzip中间件中很容易看到:

    https://github.com/expressjs/compression/blob/master/index.js

    这与express middleware提供直接访问HTTP套接字以写入响应(使用 send() ).

    很好,但是今天很痛。

    推荐文章