Webpack stats analizi
Bir webpack build'inde hangi paketlerin ve modüllerin en fazla yer kapladığını bulun.
Webpack stats analizi
webpack'den bir stats.json dosyası oluştur (`webpack --json > stats.json`, veya konfigürasyonunda `stats: { modules: true }` ekleyerek) ve buraya yapıştır, hangi paketlerin ve modüllerin bundle'ını şişirttiğini tam olarak görmek için. Bu, özel bir bundle-analyzer eklentisi yüklemek veya özel flagler ile yeniden oluşturmak zorunda kalmadan "build'm neden bu kadar büyük" sorusuna yanıt vermenin en hızlı yoludur — rapor zaten sahip olduğun JSON'u okur.
Raporu node_modules paketi ile gruplandır ve hangi bağımlılığın en maliyetli olduğunu gör, klasöre göre kendi kaynak kodunun hangi bölümünün en ağır olduğunu görmek için, veya bireysel modülleri tek tek incelemek için gruplandırılmamış bırak. Satırları göster seçeneği, uzun bir raporu en büyük suçluların sınırlandırır; yüzde payı her satırın boyutunu toplama kıyasla contextualleştirir; ve eğer stats.json dosyan modül başına sıkıştırılmış boyut alanı taşıyorsa (gzipSize veya sizeGzip), sıkıştırılmış boyut sütununu açmak her iki sayıyı yan yana gösterir. Bir giriş noktasına veya chunk adına göre filtreleme her şeyi yalnızca bir bundle ile sınırlandırır, bu da bir uygulama birden fazla çıktı dosyasına sahip olduğunda faydalıdır.
Araç ayrıca birden fazla node_modules yükleme yolunda görünen paketleri işaretler — genellikle iki bağımlılığın aynı kitaplığın farklı sürümlerini gerektirdiğinin ve webpack'in her iki kopyayı da sevk ettiğinin bir işareti. Bu satırlar çıktıda işaretlenir, böylece uzun bir raporda bile kolayca görülebilirler. Okunabilir bir rapor için tablo çıktısı seçin veya bundle boyutunu zaman içinde izlemek için bir elektronik tabloya yapıştırırken CSV kullanın.
Her şey tarayıcında çalışır: stats.json dosyası yerel olarak ayrıştırılır ve analiz edilir ve hiçbir yere yüklenmez, bu nedenle tescilli kod tabanıyla kullanmak için güvenlidir. Sonucu kopyala, .txt dosyası olarak indir veya başka bir aracın girdisine gönder ve çalışmaya devam et.