Express.js
名词 · 后端框架
面向 Node.js 的简约且灵活的 Web 框架,提供一套健壮的功能用于构建 Web 应用和 REST API——凭借其简洁性、性能和可扩展的中间件生态系统,被视为 JavaScript 后端开发的事实标准。
Node.js 原生 HTTP 模块之上的轻量抽象层,简化了路由、请求和响应的管理——只需几行代码即可创建完整的后端服务器,同时保留对应用架构的完全控制。
NestJS、Sails.js 和 LoopBack 等主流框架的技术基础——Express.js 被 Uber、IBM、Accenture 和数千家企业用于生产环境,以经验证的可靠性和可扩展性每天处理数百万 API 请求。
Express.js 是一个面向 Node.js 的开源后端框架,能够快速且结构化地创建 Web 服务器和 RESTful API。它提供强大的路由系统、中间件管理和与模板引擎的原生集成。Express.js 是世界上使用最广泛的 Node.js 框架,在 NPM 上每周下载量超过 3000 万次。我们的团队将其用作全栈 JavaScript 架构的后端基础。
Express.js 之所以被广泛使用,是因为它为 JavaScript 后端开发提供了简洁性和强大功能之间的最佳平衡。其简约架构允许几分钟内启动一个 API 服务器,而可扩展的中间件系统则能够管理身份认证、数据验证、日志记录和 CORS,而不会使框架臃肿。Express.js 与 MongoDB、PostgreSQL 和 Redis 数据库完美集成,是 React 和 Next.js 构建高性能全栈应用的理想搭档。
安装 Express.js 之前,请确保已安装 Node.js 和 NPM,然后使用 `npm init -y` 初始化项目。接着使用 `npm install express` 安装 Express。创建一个 `app.js` 文件,写入最基本的代码:`const express = require('express'); const app = express(); app.listen(3000)`。您的 Express 服务器就准备好了。对于专业配置,我们建议立即添加核心中间件:`cors`、用于安全的 `helmet` 和用于请求日志的 `morgan`。
NPM 的配置通过 `package.json` 文件完成,该文件集中管理项目的元数据、依赖项和执行脚本。使用 `npm init` 创建它(会引导您完成各选项),或使用 `npm init -y` 采用默认值。然后在 `scripts` 部分配置自定义脚本:`"start": "node app.js"`、`"dev": "nodemon app.js"`。对于全局设置(代理、私有仓库),使用 `npm config set`。良好的 NPM 配置是所有结构化且可复现的专业项目的基础。
安装 NPM 包使用命令 `npm install 包名`(或 `npm i 包名`),它会下载包并自动添加到 `package.json` 的依赖中。添加 `--save-dev`(或 `-D`)标志表示仅用于开发的依赖(代码检查工具、测试工具)。安装特定版本:`npm install express@4.18.2`。安装前务必检查包的可靠性,查看其下载量、最后更新日期和 GitHub 上的未解决 issue 数量。
Node.js 中的中间件是一个在接收 HTTP 请求和发送响应之间执行的函数,能够访问 `req`(请求)、`res`(响应)和 `next`(传递到下一个中间件的函数)对象。中间件形成一个处理链,可以修改请求、验证数据、检查身份认证、记录访问日志或处理错误。这种架构模式是 Express.js 哲学的核心,能够构建模块化的应用,每一层都有独立且可测试的职责。
Express 中间件是 Express.js 框架特有的函数,拦截每个传入请求并在其到达最终路由之前执行处理。Express 将中间件用于一切:请求体解析(`express.json()`)、静态文件服务(`express.static()`)、安全(`helmet`)、CORS(`cors`)和错误处理。它们通过 `app.use()` 叠加,按声明顺序执行。在 Async Code,我们将中间件按层组织(安全、验证、业务逻辑、响应),以实现最佳可维护性。
选择 Express.js,就是选择世界上最流行的 JavaScript 后端框架经过验证的稳定性,拥有庞大的社区和超过 50000 个中间件包的生态系统。它对 JavaScript 开发者的学习曲线平缓,非固执己见的架构提供完全的设计自由,对高负载 REST API 的性能表现出色。Express.js 也是 NestJS 等更结构化框架的基础,这确保了所学技能的长期相关性。
Body-parser 是一个 Node.js 中间件,解析传入 HTTP 请求的请求体并使数据通过 `req.body` 可访问。它支持 JSON(`bodyParser.json()`)、URL-encoded(`bodyParser.urlencoded()`)和 raw/text 格式。历史上作为独立包存在,从 Express.js 4.16 版本起 body-parser 已直接集成,通过 `express.json()` 和 `express.urlencoded()` 使用。对于任何接收表单数据或来自 React、Next.js 等前端应用 JSON 负载的服务器来说,它仍然不可或缺。
是的,Express.js 在 2025 年仍然是世界上使用最广泛的 Node.js 后端框架,在 NPM 上每周下载量超过 3000 万次,存在于大多数专业 JavaScript 技术栈中。虽然 Fastify(基准测试性能更高)和 NestJS(更结构化)等替代方案正在普及,Express.js 凭借其简洁性、成熟度和无与伦比的生态系统保持着主导地位。在 Async Code,我们在生产环境中使用它来构建后端 API,配合 Next.js 应用,它持续在大规模场景中证明其可靠性。