Node.js 编程实战:Express 基础

在 Node.js 后端开发中,Express 是使用最广泛的 Web 框架之一。它在 Node.js 原生 HTTP 模块之上进行了封装,提供了更加简洁、灵活的接口,用于构建 Web 应用和 API 服务。Express 并不追求功能的"全家桶",而是强调轻量和可扩展,这也正是它长期流行的重要原因。

本文将从 Express 的基本概念出发,介绍其核心用法和常见开发模式。


一、为什么选择 Express

Node.js 自带的 HTTP 模块虽然功能完整,但在实际开发中,处理路由、参数解析、错误处理等内容时会显得较为繁琐。Express 对这些常见需求进行了抽象,让开发者可以更加专注于业务逻辑本身。

Express 的优势主要体现在结构清晰、学习成本低以及生态成熟。大量中间件和社区实践,使得 Express 适合从小型项目到中大型服务的不同场景。


二、创建第一个 Express 应用

在已有 Node.js 环境的前提下,首先需要安装 Express。

bash 复制代码
npm install express

创建一个最简单的服务示例:

js 复制代码
const express = require('express');
const app = express();

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

app.listen(3000, () => {
  console.log('server running on port 3000');
});

运行后访问浏览器,即可看到返回结果。这也是大多数 Express 应用的起点。


三、路由的基本使用

路由是 Express 中最核心的概念之一,用于定义请求路径与处理逻辑之间的映射关系。

js 复制代码
app.get('/users', (req, res) => {
  res.json({ list: [] });
});

app.post('/users', (req, res) => {
  res.send('create user');
});

Express 根据请求方法和路径匹配对应的路由处理函数,顺序匹配非常重要。


四、请求对象与响应对象

在路由处理中,最常用的是 reqres 对象。

req 用于获取请求信息,例如参数、请求头、请求体等; res 用于向客户端返回响应。

js 复制代码
app.get('/detail', (req, res) => {
  const id = req.query.id;
  res.send(`id is ${id}`);
});

理解这两个对象的常用属性,是编写 Express 接口的基础。


五、中间件的概念

中间件是 Express 的核心机制,用于在请求和响应之间执行通用逻辑。

js 复制代码
app.use((req, res, next) => {
  console.log(req.method, req.url);
  next();
});

中间件可以用于日志记录、权限校验、参数处理等场景。只有调用 next,请求才会继续向下传递。


六、解析请求体数据

在实际开发中,经常需要处理 POST 请求的请求体数据。

js 复制代码
app.use(express.json());
app.use(express.urlencoded({ extended: true }));

配置完成后,可以通过 req.body 直接访问提交的数据。


七、静态资源服务

Express 也可以用于提供静态资源服务,例如图片、前端构建产物等。

js 复制代码
app.use(express.static('public'));

这样可以直接通过 URL 访问指定目录下的文件。


八、错误处理基础

Express 提供了统一的错误处理中间件机制。

js 复制代码
app.use((err, req, res, next) => {
  res.status(500).send('server error');
});

集中处理错误,有助于保持业务代码的简洁性和一致性。


九、Express 项目结构建议

一个常见的 Express 项目结构包括:

  • 路由层,负责接口定义
  • 控制层,处理业务逻辑
  • 服务层,封装数据访问
  • 中间件层,处理通用功能

合理的结构可以显著提升项目的可维护性。


十、总结

Express 是 Node.js 生态中最成熟、最稳定的 Web 框架之一。它在保持灵活性的同时,为开发者提供了足够的约束和规范,非常适合作为后端开发的入门与实战框架。

掌握 Express 的基础用法,是深入学习 Node.js Web 开发的关键一步。

相关推荐
BY组态11 分钟前
Ricon组态系统技术深度解析:打造高性能Web可视化平台
前端·物联网·iot·web组态·组态
zzqssliu12 分钟前
SpringBoot框架搭建跨境独立站|Taocarts代购系统订单模块深度开发
java·spring boot·后端
Loo国昌16 分钟前
从 Agent 编排到 Skill Runtime:企业 AI 工程化的下一层抽象
大数据·人工智能·后端·python·自然语言处理
山屿落星辰25 分钟前
Flutter 高级特性实战:动画、自定义绘制、平台通道与 Web 优化
前端·flutter
小羊在睡觉26 分钟前
力扣239. 滑动窗口最大值
数据结构·后端·算法·leetcode·go
RainCityLucky1 小时前
Java Swing 自定义组件库分享(七)
java·笔记·后端
_Evan_Yao1 小时前
如何搭建属于自己的技术博客(CSDN / GitHub Pages)
后端·学习·github
嘟嘟MD1 小时前
Storybound 产品进度分享,6月公测很快啦
后端·ai编程·创业
Ting-yu1 小时前
Spring AI Alibaba零基础速成(5) ---- Memory(记忆)
java·人工智能·后端·spring
月落归舟1 小时前
一文掌握Spring AOP:从入门到底层原理
java·后端·spring