大家好,我是前端之虎陈随易。
本文呢,主要是劝退大家别用 express
和 koa
的。
为什么呢?
因为,这是 布道
的产物。
当初,由于 Node.js
的推广需要,急需后端 Web 框架来扩大其影响力。
这样的框架,一定要具备2个最基本的能力:
- 简单。
- 易用。
这是最基本,也是最核心的。
express 的横空出世,给 Node.js
社区带来了一针强心剂。
它那简单到令人发指的学习曲线,很快就在整个技术圈打出了名气。
让刚接触 Node.js
半天的程序员,也能嗖地一下,体会到写 Web 后端的快乐。
后面的 koa,实现机制进一步升级,使用了 洋葱模式
,但依旧没有脱离上面2个核心能力:简单+易用。
正所谓,成也萧何,败也萧何。
我接触过好些用 express,koa 写的项目,给我的感觉就是两个字:乐高
。
没错,就像拼积木一样,把四面八方找来的插件,不管是不是过时的,是不是还在维护的,一股脑地拼到一起。
哎,还别说,能用。
但是,维护起来,简直头晕目眩,恶心呕吐。
我没夸张,这真的对于维护它们的程序员要来说,是一种精神上的摧残。
我曾经被摧残了至少2个月,每天打开项目,就感觉面前摆了一盆屎等着吃下去。
往事不堪回首。
不同的人,用express或koa,可以变出出各种千奇百怪的组合。
我实在搞不明白,都2024年了,Node.js生态的Web开发框架,已经如雨后春笋般冒出来,为什么还有这么多人热衷于这种布道框架。
这个问题我已经忍了很久了,今天必须说出来。
更好的框架太多了,排名不分先后,随便列举几个:
- Nest
- Fastify
- Egg
- Hapi
- Adonis
- Sails
- LoopBack
- Meteor
- ThinkJS
- Hono
这里我点名推荐 fastify,无他,因为我用它两年了。
它是介于 express 和 nest之间的框架。
比express集成度高,机制更好,也没有nest那么多如java一般的复杂概念。
向前看啊,同志们!
别用express,koa了,至少别在公司项目,商业项目上面用它们。
自己玩玩没事,商业性,盈利性项目,在技术选型上面,多少还是要认真负责一点的。