TL; DR
In HTTP/1.1, Sie hatten so wenige Anträge wie möglich zu machen Leistung zu erhalten; In HTTP/2 haben Sie nur eine minimale Auswirkung auf die Leistung pro Anforderung, können jedoch Ressourcenbeschränkungen und das Abhängigkeitsmanagement treffen, für die ein Bündelungstool wie Webpack erforderlich ist.
Lange Version:
Webpack (oder jeder anderer Bündler) noch Wert in einer HTTP/2 Welt schaffen, weil während HTTP/2 Multiplex ermöglicht, asynchron, gleichzeitige Anfragen vom Client zum Server es, Dies bedeutet nicht, dass der Server, mit dem Sie sich verbinden, über unbegrenzte Kapazität verfügt, um sie zu verarbeiten oder sogar zuzulassen.
Im SETTINGS-Rahmen, der beim Herstellen der Verbindung gesendet wird, beschränken die meisten Server die Anzahl der gleichzeitigen Streams auf einen angemessenen Wert wie 100. Dies bedeutet, dass Sie nicht mehr als 100 gleichzeitige Anforderungen ausgeben können Beispiel eine große entbündelte React-App mit Hunderten von js-Dateien.
Darüber hinaus haben Sie in vielen Fällen transitive Abhängigkeiten zwischen Javascript-Dateien und wenn Sie nicht alle Abhängigkeiten bündeln, benötigen Sie viele Anfragen Round-Trips, da der Browser Abhängigkeiten nur entdecken wird, wenn er die vorherigen Antworten erhält Negieren von HTTP/2-Vorteilen. (Alternativ kann der Server die Abhängigkeiten automatisch pushen, aber dies erzeugt einen ganz anderen Satz von Problemen).
Aus diesen Gründen ist es sinnvoll, mit dem webpack mehrere homogene Bundles zu paketieren, um sicherzustellen, dass Ihre maximalen gleichzeitigen Anforderungen unter den Serverlimits bleiben und Ihr Paket granular genug ist, um effizientes Browser-Caching zu ermöglichen.
Ich finde es etwas humorvoll, solange wir unsere Anfragen nach Meinungen mit "Ich will Fakten" (angeblich Fakten über Meinungen) suffixieren. Die "offtopic" Patrouille lässt es sein. Gut auf dich @battmanz, du schlauer Hund! –
@ZephyrPellerin Hey, ich muss meine Frage so beantwortet bekommen wie ich kann! :) – battmanz