切换语言为:繁体
如何 Node.js 中使用 Express 框架并启用 Gzip 压缩

如何 Node.js 中使用 Express 框架并启用 Gzip 压缩

  • 爱糖宝
  • 2024-07-24
  • 2106
  • 0
  • 0

Node.js 中间件启用gzip

启用文本压缩

基于文本的资源应该通过压缩(gzip、deflate或brotli)来提供,以最小化总网络字节。

lighthouse提示:

Enable text compression Text-based resources should be served with compression (gzip, deflate or brotli) to minimize total network bytes. [Learn more about text compression] FCP LCP

解决方案:

在 Node.js 中使用 Express 框架,可以通过 compression 中间件来启用 Gzip 压缩,以减少传输的数据量,从而提高 Web 应用的性能。以下是具体步骤:

1. 安装 compression 中间件

首先,需要安装 compression 中间件:

npm

npm install compression --save

yarn

yarn add compression -D

2. 配置 Express 使用 compression

在你的 Express 应用中引入并使用 compression 中间件:

const express = require('express');
const compression = require('compression');

const app = express();

// 启用 Gzip 压缩
// 核心点就这一句话
app.use(compression());

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

const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`);
});

3. 启用静态资源的 Gzip 压缩

如果你有静态资源文件(如 HTML、CSS、JS 文件等),也可以使用 compression 来对这些文件进行压缩。可以通过 Express 内置的 express.static 中间件来处理静态文件,并结合 compression 进行压缩。

const express = require('express');
const compression = require('compression');
const path = require('path');

const app = express();

// 启用 Gzip 压缩
app.use(compression());

// 提供静态文件服务
app.use(express.static(path.join(__dirname, 'public')));

app.get('/', (req, res) => {
  res.sendFile(path.join(__dirname, 'public', 'index.html'));
});

const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`);
});

4. 测试 Gzip 压缩

要验证 Gzip 压缩是否启用,可以使用以下方法:

使用浏览器开发者工具

  1. 打开浏览器的开发者工具(通常按 F12Ctrl+Shift+I)。

  2. 切换到 "Network" 面板。

  3. 加载你的应用程序。

  4. 选择一个请求并查看 "Headers" 选项卡,检查 "Content-Encoding" 是否为 gzip

如何 Node.js 中使用 Express 框架并启用 Gzip 压缩

使用命令行工具

你也可以使用 curl 命令来测试 Gzip 压缩:

curl -H "Accept-Encoding: gzip" -I http://localhost:3000

如果启用了 Gzip 压缩,你应该在响应头中看到 Content-Encoding: gzip

总结

通过以上步骤,可以在 Node.js 中使用 Express 框架来启用 Gzip 压缩,从而提高 Web 应用的性能。关键步骤包括安装 compression 中间件、配置 Express 使用 compression、并提供静态文件服务。通过浏览器开发者工具或命令行工具可以验证 Gzip 压缩是否启用。

0条评论

您的电子邮件等信息不会被公开,以下所有项均必填

OK! You can skip this field.