Как работать с файлами br и gz в nodejs? - PullRequest
0 голосов
/ 16 марта 2020

Я использую brotli-webpack-plugin и compress-webpack-plugin для сжатия моих файлов js / html / css.

после запуска webpack создает .br и .js.gz файлов в js файле.

У меня вопрос, как я подаю в nodejs эти файлы? в настоящее время я работаю с использованием промежуточного программного обеспечения stati c.

. Должен ли я подавать .br / .gz файлов вместо js?

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

new BrotliPlugin({
    asset: "[path].br[query]",
    test: /\.(js|css|html|svg)$/,
    threshold: 10240,
    minRatio: 0.7
})

1 Ответ

1 голос
/ 17 марта 2020

Вы должны создать резервный механизм, так как не все браузеры поддерживают все типы.

Один из способов будет:

Читать * Заголовок Accept-Content, проверьте его, какой тип браузер поддерживает и предоставляет лучший тип файла для запроса.

К счастью, для этого есть библиотека, express -stati c -gzip .

const path = require('path');
const express = require('express');
const expressStaticGzip = require('express-static-gzip');
const app = express();

// app.use(express.static(path.join(__dirname))); replace this with the line below

app.use(
  '/',
  expressStaticGzip(path.join(__dirname), {
    enableBrotli: true,
    orderPreference: ['br'],
  }),
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...