Wie kann ich die Größe meiner JavaScript-Datei nach dem Komprimieren schätzen? Gibt es dafür Online-Tools? Oder ähnelt es beispielsweise der Verwendung von winzip?
javascript
gzip
minify
Christophe
quelle
quelle
Wenn Sie unter Unix arbeiten
gzip -c filename.min.js | wc -c
, erhalten Sie eine Byteanzahl der komprimierten Dateiquelle
gunzip -c myfile | wc -c
oderzcat myfile | wc -c
cat filename.js | wc -c
.Direkt vom Terminal,
gzip -9 -c path/to/file.js | wc -c | numfmt --to=iec-i --suffix=B --padding=10
Wenn Sie die Originalgröße für Comprison benötigen,
cat path/to/file.js | wc -c | numfmt --to=iec-i --suffix=B --padding=10
Um es programmgesteuert zu bekommen, gibt es Dienstprogramme wie gzip-size . Es ist ein Knotenpaket, aber Sie können es global als allgemeines Tool installieren.
quelle
7-zip unterstützt das Komprimieren in das GZIP-Format.
Ich benutze dies oft, um Dateigrößen zu approximieren und zu vergleichen.
Suchen Sie beim Erstellen eines Archivs nach
Archive Format
undgzip
ist die dritte Option.Aktualisieren:
In den Kommentaren haben wir diskutiert, dass es einen Unterschied zwischen der GZIP-Komprimierung von 7-zip und der GZIP-Komprimierung eines tatsächlichen Servers geben kann. Also habe ich nur die Homepage von http://www.google.com/ verwendet .
Die GZIP-Nutzlast von Google betrug 36.678 Byte. 7-zip mit der Einstellung "gzip Normal" war 35.559 (3% kleiner). Mit der Einstellung "gzip Fastest" waren es 37.673 (3% größer).
Kurz gesagt: 7-zip hatte Ergebnisse, die zu 97% genau waren .
quelle
http://refresh-sf.com/ gibt Ihnen Minimierung und GZIP-Verhältnisse und Größen.
quelle
Mit Node Core können Sie die Länge des puffers zlib.gzip verwenden, um die Größe von gzip zu bestimmen:
const fs = require('fs'); const util = require('util'); const zlib = require('zlib'); const readFile = util.promisify(fs.readFile); const gzip = util.promisify(zlib.gzip); const getGzipSize = filePath => readFile(filePath) .then(gzip) .then(x => x.length);
quelle
Wenn Sie unkomprimierte, komprimierte und brotlierte Dateigrößen für den gesamten Ordner vergleichen möchten : (vorausgesetzt, Sie möchten filtern
*.js
):for file in *.js; do printf "$file\t$(cat $file | wc -c)\t$(gzip -kc7 $file | wc -c)\t$(brotli --in $file --out temp.br --force --quality 11 && cat temp.br | wc -c)\n"; done | tee filesizes.log
Beispielausgabe (durch Tabulatoren getrennt, damit Sie sie in eine Tabelle kopieren können):
foo.js 39035 10150 8982 bar.js 217000 68978 56337
quelle
filesizes.log
. Kommas zur Ausgabe hinzugefügt, um die Lesbarkeit zu verbessern. Gzip-Komprimierungsstufe auf 9 erhöht, um der bereits ausgereiften Brotli-Komprimierungsstufe von 11 zu entsprechen.for file in *.js; do printf "$file\t$(cat $file | wc -c | xargs printf "%'d\n")\t$(gzip -9c $file | wc -c | xargs printf "%'d\n")\t$(brotli -cZ $file | wc -c | xargs printf "%'d\n")\n"; done | tee
Sie können
gzip
sich unter Windows über Gow (Gnu unter Windows) installieren .quelle