对不起,我还是不推荐你用express和koa

大家好,我是农村程序员,独立开发者,行业观察员,前端之虎陈随易。

  • 关注公众号:陈随易,获取最新观察和思考。
  • 个人网站 1️⃣:chensuiyi.me
  • 个人网站 2️⃣:me.yicode.tech

如果本文能给你提供启发或帮助,欢迎动动小手指,一键三连 (点赞评论转发),给我一些支持和鼓励,谢谢。


去年7月份,我发布了一篇文章别用 Express 和 Koa 了!

在知乎和掘金均有不少讨论,总的来说呢,80%是持反对意见的。

后面我一琢磨,有可能是我文中没有把话说清楚,有些人以为我是贬低这个,抬高那个。

首先声明,我并无此意,而是就事论事,说事实,摆依据,分析利害,来表达我的个人观点。

如果你同意我的观点,那我们握握手,如果你不同意我的观点,那这篇文章也是我最后一次分享这个问题了,并不会想要强制改变你的想法。

我调研过很多除了 ExpressKoa 之外的框架,最终选择 Fastify 作为我的日常框架。

所以,这里仅用我最熟悉的 Fastfiy 来作为其他优秀框架的代表,跟 ExpressKoa 来进行一次对比,来论证我的观点:为什么我不推荐Express和Koa?

Fastify 有 61 个核心插件,由官方团队维护,收录了 240 个社区插件,我们能用到的一些中间件,基本都能在核心插件找到,这进一步提高了框架的统一性,稳定性。

而 Express 和 Koa,各种中间件,比如路由、JWT、缓存、跨域、文件上传等等,都散落在各处,需要我们亲自去找,去挖掘,然后再拿过来拼装,最后组合成一个 极具个人特色 的缝合怪。

这非常符合技术人的 个人英雄主义,我曾经也以创建缝合怪而乐此不疲,当看到公司的项目在我的缝合怪身上竟然成功的运行起来,心中的喜悦难以言表。

两年前,我在家全职接单,有个项目就是 Express 搭建的,我接手维护,增加功能,修改 BUG。

好家伙,那 2 个月,是我接单以来,唯一一次看到代码就想抓狂的时刻。

大概就跟看到这个娃娃差不多,代码组织很乱,很抽象。

而我竟还要在这上面分析来龙去脉,找到问题所在,增加功能,修复 BUG。

那时,我的心里只有一个声音:得加钱

那到底加没加钱呢?没加。

毕竟已经谈好价格开始上手了,既然已经把屎吃到嘴里,含泪也要咽下去。

故事听完了,我想说明一个什么问题呢?那就是,大部分人,都不具备合理且良好地组装缝合怪的能力,包括我自己。

Express 和 Koa,并不是说完全不能用,自己的小网站,小博客,一些小项目,用一用挺好,挺快。

毕竟,不管黑猫白猫,能抓住老鼠,那就是好猫。

但是,一些比较大的项目,公司项目,商业项目,很多时候,并不只是为了去抓一只老鼠,而是要攻城略地,冲锋打仗的。

这个时候,为了图自己一时之乐,抄起自己的缝合怪就嘎嘎往前冲,我认为这是一种不负责任的做法。

解决问题更好地解决问题,这是两码事,有架构和生态更好,更强,更合适的框架,为什么要敬而远之呢?

你要说,我的实力很强,拼装的缝合怪就是牛逼,但我认为,这种人还是寥寥无几。

Express 和 Koa 是非常优秀的框架,为 Node.js 的布道和推广,发挥了巨大的作用,但很多时候,它们并不是做项目最合适的框架。

这就像是 2 个精神小妹、精神小伙,一般人很难驾驭,我们最终还是要好好过日子的呀。

所以呢,跳出这个 2 个框架,去看看别的框架,或许,你会发现,世界更精彩。

相关推荐
cc蒲公英3 分钟前
javascript有哪些内置对象
java·前端·javascript
a努力。9 分钟前
【基础数据篇】数据等价裁判:Comparer模式
java·后端
开心猴爷15 分钟前
苹果App Store应用程序上架方式全面指南
后端
zhangwenwu的前端小站18 分钟前
vue 对接 Dify 官方 SSE 流式响应
前端·javascript·vue.js
小飞Coding22 分钟前
三种方式打 Java 可执行 JAR 包,你用对了吗?
后端
bcbnb23 分钟前
没有 Mac,如何在 Windows 上架 iOS 应用?一套可落地的工程方案
后端
王林不想说话23 分钟前
受控/非受控组件分析
前端·react.js·typescript
_杨瀚博25 分钟前
VUE中使用AXIOS包装API代理
前端
用户83562907805129 分钟前
从一维到二维:用Spire.XLS轻松将Python列表导出到Excel
后端·python