Skip to content

大家好,我是前端之虎陈随易。

陈随易

本文呢,主要是劝退大家别用 expresskoa 的。

为什么呢?

因为,这是 布道 的产物。

当初,由于 Node.js 的推广需要,急需后端 Web 框架来扩大其影响力。

这样的框架,一定要具备2个最基本的能力:

  1. 简单。
  2. 易用。

这是最基本,也是最核心的。

express 的横空出世,给 Node.js 社区带来了一针强心剂。

它那简单到令人发指的学习曲线,很快就在整个技术圈打出了名气。

让刚接触 Node.js 半天的程序员,也能嗖地一下,体会到写 Web 后端的快乐。

后面的 koa,实现机制进一步升级,使用了 洋葱模式,但依旧没有脱离上面2个核心能力:简单+易用。

正所谓,成也萧何,败也萧何。

我接触过好些用 express,koa 写的项目,给我的感觉就是两个字:乐高

没错,就像拼积木一样,把四面八方找来的插件,不管是不是过时的,是不是还在维护的,一股脑地拼到一起。

哎,还别说,能用。

但是,维护起来,简直头晕目眩,恶心呕吐。

我没夸张,这真的对于维护它们的程序员要来说,是一种精神上的摧残。

我曾经被摧残了至少2个月,每天打开项目,就感觉面前摆了一盆屎等着吃下去。

往事不堪回首。

不同的人,用express或koa,可以变出出各种千奇百怪的组合。

我实在搞不明白,都2024年了,Node.js生态的Web开发框架,已经如雨后春笋般冒出来,为什么还有这么多人热衷于这种布道框架。

这个问题我已经忍了很久了,今天必须说出来。

更好的框架太多了,排名不分先后,随便列举几个:

  1. Nest
  2. Fastify
  3. Egg
  4. Hapi
  5. Adonis
  6. Sails
  7. LoopBack
  8. Meteor
  9. ThinkJS
  10. Hono

这里我点名推荐 fastify,无他,因为我用它两年了。

它是介于 express 和 nest之间的框架。

比express集成度高,机制更好,也没有nest那么多如java一般的复杂概念。

向前看啊,同志们!

别用express,koa了,至少别在公司项目,商业项目上面用它们。

自己玩玩没事,商业性,盈利性项目,在技术选型上面,多少还是要认真负责一点的。

何以解忧,唯有代码。不忘初心,方得始终。