2017-10-12 1 views
0

Ich versuche, eine gezippte Datei mit Node/Express für eine Reagieren-App zu dienen, aber ich bekomme immer die große 1,2 MB-Datei anstelle der gezippten 300 KB-Datei. Hier ist die Expressroute Handler Ich verwendeGzip-Datei nicht mit Node Express

router.get('/javascripts/bundle.js', function (req, res, next) { 
    console.log('ENVIRONMENT') 
    console.log(process.env.NODE_ENV); 
    if (process.env.NODE_ENV === 'production') { 
    req.url = req.url + '.gz'; 
    res.set('Content-Encoding', 'gzip'); 
    res.set('Content-Type', 'text/javascript'); 
    console.log('request URL: ' + req.url); 
    } 
    next(); 
}); 

Ich überprüfe die Umgebung, um sicherzustellen, Produktion, aber keines dieser Protokolle zeigen sich in meinem Server-Logs (Protokolle Heroku). Und schaut man auf die Registerkarte Netzwerk in Chrom zeigt es 1,2 MB

ist da etwas, was ich vermisse?

+0

schreiben Bitte geben Sie die Antwort-Code als gut nicht nur diese Middleware –

+0

@JLivengood Ich habe keine spezifische Antwort-Code für die bundle.js Datei, vielleicht ist das mein Problem ist? Ich folgte einem Tutorial und es hieß nur die Middleware –

+0

hinzuzufügen Oh nein, nur dafür sorgen, dass ich vielleicht eine Lösung habe. Testen lokal –

Antwort

1

Vielleicht verwenden Sie in einem anderen Modul (wie app.js) die Express Statische Middleware, die die Anfrage abfängt, bevor sie Ihre benutzerdefinierte Middleware erreichen kann. überprüfen und kommentieren Sie (wenn Sie können)

app.use(express.static(path.join(__dirname, 'public')));