🎯 第 16 课:什么是 Express?为什么我们需要框架?

2 阅读2分钟

太棒了!👏 你已经用原生 Node.js 实现了服务器、路由、静态资源和 API,现在是时候引入“利器”了——


📌 核心知识点

Express 是一个轻量、灵活的 Node.js Web 框架,它简化了路由、中间件、请求处理等操作,让你用更少的代码做更多的事。


🤔 问题来了:我们真的要一直手动写 if (pathname === ...) 吗?

回顾我们之前的代码:

if (pathname === '/api/weather') {
  // 处理天气
} else if (pathname === '/login') {
  // 处理登录
} else if (pathname.startsWith('/public/')) {
  // 处理静态文件
  // ...一大堆判断
}

❌ 问题:

  • 路由越来越多时,代码变得臃肿
  • 正则匹配复杂路径很麻烦
  • 请求数据解析重复写
  • 缺乏标准化结构

👉 就像骑自行车上班 vs 开车上班 —— 工具决定效率!


🚗 什么是 Express?

对比项原生 Node.jsExpress
写路由手动判断 req.url使用 app.get('/xxx', fn)
解析 POST 数据监听 data 事件 + 手动拼接使用中间件自动解析
静态文件服务自己读文件 + 设置 MIME一行代码搞定
错误处理自己控制提供统一错误处理机制
扩展性极强(海量中间件)

✅ Express 的目标:让开发者专注于业务逻辑,而不是底层细节。


💡 安装与初始化

第一步:创建项目并安装 Express

# 创建项目文件夹
mkdir my-express-app
cd my-express-app

# 初始化 package.json
npm init -y

# 安装 express
npm install express

✅ 确保你已安装 Node.js 和 npm(运行 npm -v 检查)


🌟 第一个 Express 应用

创建 app.js

// 引入 express
const express = require('express');

// 创建应用实例
const app = express();

// 定义一个路由
app.get('/', (req, res) => {
  res.send('Hello from Express! 🚀');
});

// 启动服务器
const PORT = 3000;
app.listen(PORT, () => {
  console.log(`✅ Express 服务器运行在 http://localhost:${PORT}`);
});

运行它:

node app.js

打开浏览器访问:http://localhost:3000

输出:

Hello from Express! 🚀

🎉 成功!比原生简单太多了!


✨ Express 的核心优势一览

1️⃣ 更简洁的路由系统

app.get('/users', (req, res) => { ... })
app.post('/login', (req, res) => { ... })
app.put('/users/1', (req, res) => { ... })
app.delete('/users/1', (req, res) => { ... })

👉 支持所有 HTTP 方法,路径清晰。


2️⃣ 内置中间件支持(稍后会讲)

比如自动解析 JSON 请求体:

app.use(express.json()); // 自动把 req.body 解析成对象

3️⃣ 静态文件服务只需一行

app.use(express.static('public'));

这句代码的意思是:
👉 所有对 /style.css/index.html 等请求,自动从 public/ 文件夹找对应文件返回。

再也不用手动读文件、判断 MIME 类型了!


4️⃣ 路径参数轻松获取

app.get('/users/:id', (req, res) => {
  const userId = req.params.id; // 比如 /users/123 → id=123
  res.send(`用户ID: ${userId}`);
});

5️⃣ 查询参数直接可用

app.get('/search', (req, res) => {
  const q = req.query.q; // /search?q=node → q="node"
  res.json({ keyword: q });
});

✅ 小结一句话:

Express 是 Node.js 最流行的 Web 框架,它通过简洁的 API 和丰富的中间件生态,极大提升了开发效率,是构建现代 Web 应用的首选工具。


📬 下一课预告:
第 17 课:Express 核心三剑客 —— 路由、中间件、请求响应对象详解!

我们将深入学习:

  • app.get/post/put/delete
  • app.use() 中间件机制
  • reqres 的常用属性与方法