2017-08-06 1 views
0

J'ai ce code;Comment compresser fs.createReadStream en express

const express = require('express') 
const compression = require('compression') 
const app = express() 
const fs = require('fs'); 
const path = require('path'); 
const port = process.env.PORT || 3003; 

app.use(compression()) 
app.use('/public', express.static('public')); 

app.get('/', (req, res) => { 
    fs.createReadStream(__dirname + '/public/src/index/index.html').pipe(res); 
}); 

app.listen(port,() => { 
    console.log(`Portfolio listening on port ${port}`) 
}) 

Dans les outils de dev chrome le fichier app.js qui est demandé dans le index.html est gzip, mais le premier fichier (le index.html mentionné dans le code ci-dessus) n'est pas. Comment compresser le fichier index.html avant qu'il ne soit diffusé en continu?

+1

Je pense à l'aide middleware de compression devrait déjà prendre soin de cela. Comment avez-vous vérifié que la compression est manquante? – jsalonen

+0

Dans les outils de développement chrome, l'encodage de contenu est vide pour le fichier index.html, mais indique gzip pour le fichier JS. – leonormes

Répondre

1

Que diriez-vous en utilisant le module zlib:

fs.createReadStream(__dirname + '/public/src/index/index.html') 
    .pipe(zlib.createGzip()) 
    .pipe(res);