Express

Express

快速、不做主观约束的极简 Node.js Web 框架

核心功能

在 Node.js 原生 HTTP 之上提供路由与中间件两层薄封装,req 和 res 仍是 Node 原生对象,可以直接调用 req.pipe() 之类的方法。适合快速搭建 HTTP 接口、后端服务与传统服务端渲染站点。

功能亮点

路由写法只有一个公式

app.METHOD(PATH, HANDLER),把 METHOD 换成小写的 get、post、put、delete 即可

不遮蔽 Node 原生对象

req、res 与 Node 提供的完全是同一批对象,req.pipe()、req.on('data') 都能照常使用

极简起步

最简单的应用就是一个文件:require express、声明一条路由、调用 app.listen(3000)

需要骨架时有生成器

npx express-generator 一次性产出 app.js、routes、views、public 与 bin/www 目录

视图引擎自选

生成时用 --view=pug 指定模板引擎,也可加 --no-view 只做纯接口服务

适用场景

• 快速搭建 REST 接口服务,一个文件就能跑起一个 HTTP 服务器
• 用 express-generator 生成含视图引擎与静态资源目录的服务端渲染站点骨架
• 为前端项目提供本地 mock 或轻量 BFF 层,按需挂中间件即可

安装配置

bash
前置条件:Node.js 18 或更高版本。

手动初始化项目 ——

mkdir myapp
cd myapp
npm init

(npm init 会询问 entry point,可填 app.js)

安装 Express 并写入 dependencies:
npm install express

只临时安装、不写进依赖列表:
npm install express --no-save

配合 TypeScript 使用(类型定义由社区维护,需单独安装):
npm install --save-dev typescript @types/express @types/node

用生成器直接产出应用骨架 ——

npx express-generator

旧版 Node 可全局安装后使用:
npm install -g express-generator
express

指定项目名与视图引擎:
express --view=pug myapp
cd myapp
npm install

使用方法

javascript
// app.js —— 最简单的 Express 应用
const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`);
});

// 其他 HTTP 方法的路由写法
app.post('/', (req, res) => {
  res.send('Got a POST request');
});

app.put('/user', (req, res) => {
  res.send('Got a PUT request at /user');
});

app.delete('/user', (req, res) => {
  res.send('Got a DELETE request at /user');
});

# 运行
node app.js
# 然后在浏览器打开 http://localhost:3000/

关键指标

尚未核验对标产品,此处只列本工具自身指标,不做对比结论。

指标Express
价格免费
开源
上手难度入门

相关工具

同类工具

优点

  • 路由与中间件之外几乎不做额外约定,项目目录怎么组织完全由团队自己决定
  • req、res 直接就是 Node 原生对象,遇到流式处理等场景不必绕过框架抽象
  • 最小可运行应用只有十行左右,从零到一个能响应请求的服务几乎没有中间步骤
  • 生成器可选七种视图引擎和多种样式预处理器,也支持 --no-view 产出纯接口工程

缺点

  • 框架本身不带类型定义,用 TypeScript 时要额外安装 @types/express,部分中间件还得单独补类型
  • 不提供目录结构、参数校验、序列化等约定,规模变大后需要团队自行制定规范
  • 生成器产出的结构只是众多组织方式之一,官方也说明它并非唯一推荐