如何在 Node.js 中使用 Gzip 进行压缩?
以下方法介绍了如何在 Node.js 中使用 Gzip 压缩进行压缩。我们可以使用压缩模块来使用 Gzip 压缩进行压缩。 Gzip 是使用最广泛的压缩,尤其是对于服务器和客户端交互。
压缩有助于减少我们的 NodeJS 应用程序中的可下载数据量,并提高应用程序的性能。这种压缩过程可以将有效载荷大小显着降低 70% 以上。
以下两个示例介绍了压缩如何有用,因为与示例 1 相比,它减少了有效负载大小,在示例 2 中清晰可见。
示例 1:使用不压缩:
第 1 步:使用以下命令创建一个空的 NodeJS 应用程序:
mkdir Project
cd Project
npm init -y
第 2 步:使用以下命令安装 ExpressJS 模块:
npm i express --save
第 3 步:在项目的根目录中创建一个文件并命名为index.js并编写以下代码。
index.js
const express = require('express');
const app = express();
// It will repeatedly the word 'I love GeeksforGeeks'
const data = ('I love GeeksforGeeks').repeat(800) ;
app.get('/', (req, res) => {
// Send as 'text/html' format file
res.send(data);
});
// Server setup
app.listen(8080, function () {
console.log('Server listening on port 8080!');
});
index.js
// Initialize compression module
const compression = require('compression');
const express = require('express');
const app = express();
// Compress all HTTP responses
app.use(compression());
// It will repeatedly the word 'I love GeeksforGeeks'
const data = ('I love GeeksforGeeks').repeat(800) ;
app.get('/', (req, res) => {
// Send as 'text/html' format file
res.send(data);
});
// Server setup
app.listen(8080, function () {
console.log('Server listening on port 8080!');
});
使用以下命令运行index.js文件:
node index.js
打开浏览器,访问 URL http://localhost:8080/,如果不进行压缩,服务器返回的响应会重约 16 kB,如下图:
示例 2:使用 Gzip 压缩:
在 NodeJS 应用程序的index.js文件中添加压缩中间件。这将启用 GZIP,从而使您的 HTTP 响应更小。
第 1 步:使用以下命令创建一个空的 NodeJS 应用程序:
mkdir Project
cd Project
npm init -y
第 2 步:使用以下命令安装压缩和 ExpressJS 模块:
npm install compression --save
npm install express --save
第 3 步:在项目的根目录中创建一个文件并命名为index.js并编写以下代码。
index.js
// Initialize compression module
const compression = require('compression');
const express = require('express');
const app = express();
// Compress all HTTP responses
app.use(compression());
// It will repeatedly the word 'I love GeeksforGeeks'
const data = ('I love GeeksforGeeks').repeat(800) ;
app.get('/', (req, res) => {
// Send as 'text/html' format file
res.send(data);
});
// Server setup
app.listen(8080, function () {
console.log('Server listening on port 8080!');
});
使用以下命令运行index.js文件:
node index.js
打开浏览器,访问 URL http://localhost:8080/,现在,如果打开压缩,服务器返回的响应将重约 371 字节,如下所示:
因此,上面的示例表明使用压缩响应大小会显着减小。