Zum Inhalt springen
100% lokal

Webpack Stats Analyzer

Finden Sie heraus, welche Pakete und Module den meisten Platz in einem Webpack-Build benötigen.

Eingabe

Webpack Stats Analyzer

Generieren Sie eine stats.json aus webpack (`webpack --json > stats.json` oder mit `stats: { modules: true }` in Ihrer Konfiguration) und fügen Sie sie hier ein, um genau zu sehen, welche Pakete und Module Ihr Bundle aufblähen. Dies ist der schnellste Weg, um "warum ist mein Build so groß" zu beantworten, ohne ein Bundle-Analyzer-Plugin zu installieren oder einen Neubuild mit speziellen Flags durchzuführen – der Bericht liest einfach die JSON, die Sie bereits haben.

Gruppieren Sie den Bericht nach node_modules Paket, um zu sehen, welche Abhängigkeit am meisten kostet, oder nach Ordner, um zu sehen, welcher Teil Ihres eigenen Quellcodes am schwersten ist. Sie können auch ungroupiert lassen, um einzelne Module einzeln zu inspizieren. Die Option "Reihen anzeigen" begrenzt einen langen Bericht auf die größten Verursacher; Prozentanteil setzt die Größe jeder Reihe im Kontext der Gesamtgröße in Beziehung; und wenn Ihre stats.json pro Modul ein komprimiertes Größenfeld trägt (gzipSize oder sizeGzip), zeigt das Aktivieren der Spalte "Komprimierte Größe" beide Zahlen nebeneinander an. Das Filtern nach einem Entry Point oder Chunk-Namen verengt alles auf ein Bundle, was nützlich ist, wenn eine App mehrere Ausgabedateien hat.

Das Tool kennzeichnet auch Pakete, die unter mehr als einem node_modules-Installationspfad vorhanden sind – ein häufiges Zeichen dafür, dass zwei Abhängigkeiten inkompatible Versionen derselben Bibliothek benötigen und webpack am Ende beide Kopien versendet. Diese Reihen werden in der Ausgabe markiert, sodass sie selbst in einem langen Bericht leicht zu erkennen sind. Wählen Sie Tabellenausgabe für einen lesbaren Bericht oder CSV zum Einfügen in eine Tabellenkalkulation, wenn Sie die Bundle-Größe über die Zeit verfolgen.

Alles läuft in Ihrem Browser: die stats.json wird lokal analysiert und wird nie irgendwo hochgeladen, sodass es sicher ist, sie mit proprietärem Code zu verwenden. Kopieren Sie das Ergebnis, laden Sie es als .txt-Datei herunter, oder senden Sie es direkt zur Eingabe eines anderen Tools, um weiterzuarbeiten.

Häufige Fragen

Wie generiere ich eine stats.json?
Führen Sie Ihren webpack Build mit `webpack --json > stats.json` aus, oder fügen Sie `stats: { modules: true }` zu Ihrer webpack-Konfiguration hinzu, damit der Compiler Moduldaten ausgibt. Das Tool benötigt ein Top-Level-Array "modules" um zu funktionieren.
Was zeigt die Gruppierung nach Paket, das die Gruppierung nach Ordner nicht zeigt?
Die Gruppierung nach Paket reduziert alle Dateien unter node_modules/react (zum Beispiel) auf eine Reihe, sodass Sie den Gesamtfußabdruck einer Abhängigkeit sehen können. Die Gruppierung nach Ordner zeigt stattdessen Ihre eigenen Quellverzeichnisse an, was nützlicher ist, um eine übergroße Funktion in Ihrem eigenen Code zu finden.
Warum warnt es vor "duplizierten" Paketen?
Wenn zwei Abhängigkeiten jeweils eine andere Version derselben Bibliothek benötigen, kann npm oder yarn eine zweite Kopie in node_modules verschachteln, anstatt sie zu deduplizieren. Dieses Tool erkennt einen Paketnamen, der unter mehr als einem Installationspfad vorhanden ist, und kennzeichnet ihn, da das Entfernen des Duplikats oft ein einfacher Weg ist, um ein Bundle zu verkleinern.
Zeigt es echte Gzip-Größen an, wenn meine stats.json diese nicht enthält?
Nein. Komprimierte Größe wird nur angezeigt, wenn Ihre stats.json bereits ein gzipSize- oder sizeGzip-Feld pro Modul enthält – das Tool komprimiert nie selbst, da dies bedeuten würde, einen Build-Schritt erneut zu durchlaufen. Ohne dieses Feld zeigt die Spalte "Komprimierte Größe" einen Bindestrich an.
Wird meine stats.json irgendwo hochgeladen?
Nein. Parsen und Analyse erfolgen vollständig in Ihrem Browser – die Datei verlässt Ihr Gerät nie.