通过 Node.js 服务器提供页面时压缩内容

use*_*109 3 compression dynamic node.js

我需要实现压缩以减少浏览器获取的文件的大小。我在 node.js 服务器上有从公共文件夹(JSON 和 CSV 文件)读取的页面。

当我访问页面并使用 PageSpeed 分析它们时,它建议:

使用 gzip 压缩以下资源可以减少其传输大小...

... localhost:3000/data/xyz.csv 可以节省 1.1MiB(减少 83%)。

我如何向客户端提供压缩文件。我是否必须事先压缩它们并将其添加到压缩文件夹中?我即时制作了一些 CSV 文件,因此我可以在运行时执行此操作吗?

我如何拦截文件请求并发送其压缩内容(仅 xyz.CSV 而不是其他)。

获取/data/xyz.csv 200 561ms

如果我不想压缩全部文件,而只想压缩少数文件,则仅表示文件夹中的文件。

use*_*109 5

经过大量搜索后,我找到了使用express-zip模块的最简单选项

https://npmjs.org/package/express-zip

它不需要开发人员进行任何更改(压缩/解压缩文件)。就像在express中一样提供文件(这就是我使用的)