есть два способа справиться с этим. сначала
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 сжимает ваши файлы один раз - во время запуска сборки. Эти сжатые версии затем сохраняются на диск