загрузить файл gzip в запрос API express сервер nodejs - PullRequest
0 голосов
/ 11 февраля 2020

Я хочу загрузить gzip-файл 'content-encoding: gzip', используя express сервер в nodejs. Я хочу знать, какой модуль npm я могу использовать для повышения производительности, чтобы получать и распаковывать gzip-файл в запросе.

1 Ответ

0 голосов
/ 17 февраля 2020

есть два способа справиться с этим. сначала

npm i compression --save

, затем на вашем сервере. js

const compression = require("compression");
server.use(compression());//make sure you use this  on top of the middlewares

Express middleware сожмет ваши файлы в момент запроса. Другое решение - позволить Webpack сжимать ваши файлы и создавать .gz-версии ваших несжатых файлов.

npm i --save compression-webpack-plugin

этот пакет использует алгоритм "gzip" по умолчанию

в вашем webpack.config. js для производства

const CompressionPlugin = require("compression-webpack-plugin");

plugins: [
      new CompressionPlugin(),
    ]

это сожмет ваши файлы ресурсов, за исключением изображений JPEG. потому что jpeg уже является сжатым типом файла. теперь вам нужно указать express, как обрабатывать сжатые файлы. для этого установите на своем сервере

  npm i express-static-gzip

. js

 const expressStaticGzip = require("express-static-gzip");
    server.use(expressStaticGzip("dist"));//make sure you use this middleware first.

Сжатие Webpack сжимает ваши файлы один раз - во время запуска сборки. Эти сжатые версии затем сохраняются на диск

...