Express.js 发展史

下面给你一份 专业、结构清晰、可用于技术文档或演讲 的 Express.js 发展历史全景图(从诞生到 5.x 现代化版本)。

🚀 Express.js 发展历史(2009 → 2025)

Express 是 Node.js 生态最重要的 Web 框架之一,它的历史几乎等同于 Node.js Web 开发的进化史。

🧱 ☑ 1. 起源期(2009–2010)—— Node Web 框架的开端

2009 年:Node.js 诞生

•	Ryan Dahl 发布 Node.js。
•	当时还没有现代意义上的 Web 框架。

2010 年:Express 发布(1.x)

作者:TJ Holowaychuk

目的:给 Node.js 提供一个类似 Ruby on Rails / Sinatra 的轻量 Web 框架。

Express 1.x 特点:

•	基于 Connect(早期的 middleware 框架)
•	app.use() 中间件机制初成形
•	支持 View Engine、静态资源

📝 当时 Express 是 Node.js 最早的“标准 Web 框架”。

⚙ ☑ 2. 成熟期(2011–2013)—— 3.x 统一了 Node Web 编程方式

2011–2013:Express 2.x / 3.x

•	非常强势的增长期
•	生态开始完善(bodyParser、cookieParser…)
•	成为 Node.js Web 开发事实标准框架

Express 3.x 引入:

•	更清晰的路由机制
•	更稳定的中间件体系
•	View 系统完整

📝 这一时期,所有 Node Web 应用几乎都以 Express 为核心。

🔧 ☑ 3. 演进期(2014)—— Express 4.x“重大重构”

2014 年:Express 4.0 发布

这是 Express 历史上最重要的一次重构。

🔥 重大变化:

1)从 Connect 脱钩(架构独立)

Express 不再依赖 Connect,重写了 Router/Middleware 流程。

2)所有内置中间件剥离为独立包

例如:

•	bodyParser
•	cookieParser
•	session
•	csrf

等等…

这提升了稳定性与灵活性,并减少了核心的复杂度。

3)Router() API 强化

支持模块化路由,支持多层级嵌套路由。

📝 Express 4.x 奠定了之后十年 Express 的架构风格。

🌀 ☑ 4. 停滞期(2015–2021)—— 社区担忧“框架是否已死”

在这个阶段出现了一些关键事件:

✔ TJ 离开 Express 项目

TJ 转向 Go 语言与其他项目,Express 移交给 StrongLoop(后被 IBM 收购),后进入 Node.js 基金会维护。

✔ Express 5 一拖再拖

从 2014 就开始计划 Express 5,但多年没有正式版本。

导致社区紧张,以为项目停止。

✔ 新框架崛起(挑战 Express)

•	Koa(由 TJ 创建,用于解决 Express 架构遗留)
•	Hapi
•	Fastify
•	Nest.js(架构式框架)

📝 尽管如此,Express 因为庞大的生态,仍然是事实标准。

⚡ ☑ 5. 重启期(2022–2024)—— Express 5 正式进入 RC 和稳定循环

2022–2023:Express 5 开始活跃开发

逐步解决积压 8 年的问题,同时现代化 API。

2024 年 10 月:Express 5.0.0 正式发布

这是 Express 历史上第二次“大版本革命”。

🚀 ☑ 6. 现代化期(2024–2025)—— Express 5.x 真正升级体验

Express 5 的核心升级:

1)全面 async/await 支持

•	路由可 async
•	中间件可 async
•	自动捕获 Promise 错误

解决了 Express 4 最头痛的异步问题。

2)移除过时代码与 API

如:

•	res.sendfile() → res.sendFile
•	req.param() → req.params
•	app.del() → app.delete
•	去掉大量历史兼容逻辑

3)Node.js 18+ 才能运行

彻底放弃旧 Node,使用现代语法。

4)更好结构与安全

•	升级 path-to-regexp
•	更严格的 HTTP 规范
•	清理 sidenotes

5)依赖全部模块化、版本范围化(5.1后)

Express 不再用“锁定依赖”,改为 semver 范围,以便快速安全更新。

⭐ ☑ 7. Express 5.1+(2025)—— 持续改善阶段

从 5.1.0 开始,Express 又变成了“有活力”的项目。

新增:

•	支持 Uint8Array 响应
•	res.sendFile() 支持 ETag 控制
•	res.links() 支持多个 rel
•	性能改进
•	依赖自动升级策略

📝 Express 进入“成熟稳定 + 现代语法支持 + 定期更新”的新阶段。

🔚 总结:Express 的五个时代

时代 版本 关键特征

起源期 1.x 最早的 Node Web 框架

成熟期 2.x–3.x 成为 Node.js 默认 Web 框架

重构期 4.x 脱离 Connect、模块化中间件

停滞期 4.x(后期) Express 5 延迟、社区焦虑

现代化期 5.x 全面 async、清理旧 API、现代 Node 语法

Express 在 2025 年仍然是最流行的 Node.js Web 框架,虽然它不是最“现代的”,但:

稳定性、生态、兼容性、迁移成本低 → 让它依然是企业级项目首选。

如果你需要,我还可以给你:

📌 Express 历史时间线(图表)

📌 Express vs Koa vs Fastify 的进化路线对比

📌 Express 内核架构演进图(从 1→5)

告诉我你要哪一种!