14 中间件之5.2 使用内置中间件

在上一章中,我们探讨了什么是“中间件”,并了解了它在 Express.js 应用程序中的重要性。接下来,我们将深入讨论 Express.js 内置中间件的使用,帮助你更好地理解如何在应用程序中利用这些功能强大的工具。

什么是内置中间件?

Express.js 提供了一些内置的中间件,这些中间件是由 Express 框架自带的,通常用于处理常见的任务,如请求体解析、Cookie 解析、静态文件服务等。利用这些内置中间件,可以简化我们的代码并增强代码的可读性和可维护性。

本节中,我们将介绍以下几种常用的内置中间件:

  1. express.static
  2. express.json
  3. express.urlencoded

1. express.static

express.static 是用于提供静态文件的中间件,如 HTML 文件、图片、CSS 文件和 JavaScript 文件等。使用该中间件,我们可以轻松地设定要提供的静态文件目录。

使用示例

在 Express 应用中使用 express.static 非常简单。以下是一个基本的示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const express = require('express');
const path = require('path');

const app = express();

// 设定静态文件目录为 'public'
app.use(express.static(path.join(__dirname, 'public')));

app.get('/', (req, res) => {
res.send('<h1>欢迎使用 Express!</h1>');
});

// 监听端口
app.listen(3000, () => {
console.log('服务器正在运行,访问 http://localhost:3000');
});

在上述代码中,我们使用了 express.static 来指定一个静态文件目录(public)。当用户访问这个应用时,如果请求的资源存在于该目录中,Express 会自动将其返回。

2. express.json

express.json 是一个用于解析 JSON 格式请求体的中间件。对于发送 JSON 数据的 POST 请求,这个中间件尤为重要。

使用示例

下面是如何使用 express.json 中间件的示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const express = require('express');

const app = express();

// 中间件解析 JSON 格式的请求体
app.use(express.json());

app.post('/data', (req, res) => {
console.log(req.body); // 输出解析后的请求体
res.send('接收到的数据已打印到控制台。');
});

// 监听端口
app.listen(3000, () => {
console.log('服务器正在运行,访问 http://localhost:3000');
});

在这个示例中,我们在应用中使用了 express.json,当用户发送一个包含 JSON 数据的 POST 请求到 /data 时,Express 将自动解析请求体并将其存储在 req.body 中。

3. express.urlencoded

express.urlencoded 是用于解析 URL 编码请求体的中间件。这通常用于提交表单数据的 POST 请求。

使用示例

下面是如何使用 express.urlencoded 的示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const express = require('express');
const app = express();

// 中间件解析 URL 编码的请求体
app.use(express.urlencoded({ extended: true }));

app.post('/submit', (req, res) => {
console.log(req.body); // 输出解析后的请求体
res.send('表单数据已接收。');
});

// 监听端口
app.listen(3000, () => {
console.log('服务器正在运行,访问 http://localhost:3000');
});

在这个例子中,当用户通过表单提交数据时,Express 会使用 express.urlencoded 中间件解析请求体,并将解析后的数据保存在 req.body 中。

总结

在本节中,我们介绍了 Express.js 中的一些内置中间件,包括 express.staticexpress.jsonexpress.urlencoded,并通过简单的示例展示了如何使用它们。掌握这些内置中间件,可以大大提高我们开发 Express 应用程序的效率。

在即将到来的下一节中,我们将探讨如何创建和使用自定义中间件,让您在应用程序中实现更多的功能和灵活性。

14 中间件之5.2 使用内置中间件

https://zglg.work/expressjs-zero/14/

作者

IT教程网(郭震)

发布于

2024-08-15

更新于

2024-08-16

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论