核心功能
在 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,部分中间件还得单独补类型
- 不提供目录结构、参数校验、序列化等约定,规模变大后需要团队自行制定规范
- 生成器产出的结构只是众多组织方式之一,官方也说明它并非唯一推荐