Webpack gzip komprimiertes Paket wird nicht geliefert, das unkomprimierte Paket ist

9

Ich probiere Webpack zum ersten Mal aus. Ich benutze Gulp mit Browserify seit einiger Zeit und bin damit ziemlich zufrieden. An dieser Stelle teste ich gerade ein paar Webpack-Plugins aus. Nämlich das Compression-Webpack-Plugin. Ich habe noch nie zuvor eine Kompression benutzt, also sei mit mir fertig, wenn ich irgendeinen Noob-Fehler mache.

Unten ist meine webpack.config.js. Das Ergebnis ist eine Main.js, main.js.gz, main.css und index.html. Die main.js wird in die index.html eingefügt, aber wenn ich index.html in meinem Browser öffne, liefert sie die unkomprimierte main.js, nicht die komprimierte main.js.gz. Ich hatte gelesen, dass ich die .gz-Erweiterung nicht in mein Skript-Tag einfügen müsste, und das html-webpack-plugin enthält es nicht, also dachte ich, dass die Dinge richtig funktionieren, aber die unkomprimierte main.js wird bedient. anstatt der komprimierten.

%Vor%     
Patrick Grimard 16.01.2016, 14:16
quelle

3 Antworten

11

Um main.js.gz anstelle von main.js zu laden, müssen Sie Ihren Webserver (apache, nginx, etc.) konfigurieren, falls main.js in script -Tag enthalten ist.

Denken Sie daran, dass die Konfiguration .js.gz oder .js laden sollte, wenn der Browser gzip akzeptiert. Der Webserver kann dies im HTTP-Request-Header Accept-Encoding: gzip, deflate

überprüfen

In Browser Devtools sehen Sie in jedem Fall main.js.

    
Dmitry Yaremenko 16.01.2016, 14:40
quelle
4

Sie können gz statics einfach mit statischem Modul nginx gzip bereitstellen. Der Server prüft, ob app.js.gz file für z.B. angefordert /statics/app.js ist vorhanden und dient es transparent. Es besteht keine Notwendigkeit, Ihre Anwendung zu ändern oder Accept-Encoding zu erkennen - alles, was vom nginx-Modul gehandhabt wird. Hier ist Config Snippet:

%Vor%     
gertas 20.06.2016 20:08
quelle
0

Ich bin etwas spät dran, dachte aber, ich würde meine 2c hinzufügen. Ich generierte eine gz-Datei mit webpack, aber Apache servierte weiterhin die unkomprimierte (oder Fehler, wenn sie nicht vorhanden war), obwohl Accept-Encoding richtig gesetzt wurde. Es stellte sich heraus, dass ich AddEncoding x-gzip .gz .tgz auskommentieren und httpd neu laden musste. Für die Aufzeichnung, AddType application/x-gzip .gz .tgz wurde bereits festgelegt, und ich verwende Apache 2.4.6 mit Chrome 62. Dank Dmitry oben für mich stupsen, um meine conf / httpd.conf-Datei zu sehen.

    
Nate 30.11.2017 23:23
quelle