2024年了,nodejs框架怎么选?

Daotin 于 2024-11-05 发布 编辑

背景

昨天看了一篇文章,讲述的是《裸辞四个月,前端仔靠着 Nest 绝境收下 offer》,其中说到:

“当有 2 家自研公司在对我面试时,我抛出了熟悉 nest 开发后。面试官感觉眼神都不一样了,这是真实的。然后这两家公司面试完后,我总结下来,1 个小时有大概半小时都是在谈论服务端开发对前端的助益,更多的是关于 fp 开发与 oop 开发的区别,有哪些收获?除此池外,我们还会不停探讨关于设计模式、数据库方面的话题,如:表关系、如何解耦之类的。也就是说,有面试官一直在挖掘你的深度、广度。你和面试官侃侃而谈,自然结果不会差!”

我读完后的感悟是:差异化竞争,人无我有,人有我优。

“这不是以前,人人都会 Jquery,但是你会 Vue 或者 React 你就有了更强竞争力,现在前端的活,更多都是围绕做界面,做交互,现在 Vue、React、Ts 谁不会用呢?因此主要竞争力方面,人人都难分高下,就需要靠别的附加价值去击败别人,因此无论是工程化方面也好,服务端知识也好,本身就是附加价值的一个体现。”

于是,就准备学 nodejs,也有了这篇文章。

分析

下面是对几个常见 Node.js 框架的优缺点介绍,最后会给出一个综合比较和选型建议的表格,帮助你更好地理解它们的特性和适用场景。

1. NestJS

2. Express

3. Koa

4. Fastify

5. Egg.js

综合比较和选型建议

框架 GitHub Stars 特点 优势 劣势 适用场景
NestJS 67.6k 面向大型项目,模块化支持 强大的 TypeScript 支持、结构化清晰 学习曲线较高,对小项目有些重 大中型企业应用
Express 65.6k 轻量、灵活 庞大生态系统、上手简单 结构化差,项目变大后维护困难 轻量、快速开发
Koa 35.2k 现代化、模块化 更灵活的中间件机制,支持 async/await 缺少内置中间件,需要更多配置 定制化的应用
Fastify 32.3k 高性能,适合 API 服务 极高性能、内置 JSON schema 支持 第三方生态相对较小 高吞吐量的 API 服务
Egg.js 18.9k 企业级框架 强大的插件体系,适合大规模应用 学习曲线高,国际化支持不足 大型企业应用,特别在中国市场

选型建议

最后

看了神光大佬的《给你 5 个学习 Nest 的理由,你会心动么?》,其实没那么多选择,企业级开发, Nest 基本是唯一的选择了。

所以,最终胜出者:NestJS。