Aufteilen von Herstellerbibliotheken in mehrere Abschnitte mit Webpack

8

Ich möchte meinen Lieferantencode in zwei Teile aufteilen, einen, der alle eckigen Bibliotheken enthält, und einen anderen, der alles andere enthält.

Meine eckige App hat einen einzigen Einstiegspunkt und ist so eingerichtet:

%Vor%

Ich benutze dann das CommonsChunkPlugin, um die zwei anderen Bündel zu konfigurieren:

%Vor%

Dies erzeugt 3 Dateien:

%Vor%

app.bundle.js enthält nur meinen App-Code.
vendor.bundle.js enthält alle 3rd-Party-Bibliotheken, ausgenommen eckige Sachen vendor.angular.bundle.js enthält alle eckigen Sachen UND alle meine 3rd-Party-Bibliotheken, die bereits in vendor.bundle.js enthalten sind.

Gibt es sowieso die eckigen Module, die in vendor.angular.bundle.js gebündelt sind, ohne die anderen 3rd-Party-Bibliotheken automatisch einzubeziehen?

    
Nick 22.07.2016, 20:15
quelle

1 Antwort

4

Das herausgefunden:

Die Reihenfolge der CommonsChunkPlugin-Sache im plugins-Array.

Um das gewünschte "Chunking" zu bekommen, hier ist die Änderung, die ich machen musste:

  1. Ordne die CommonsChunkPlugins neu an, so dass der eckige Brocken war zuerst.
  2. Aktualisieren Sie die Konfiguration des 'vendor' unten, um 'vendor.angular' im Array 'chunks' zu verwenden.

Das aktualisierte CommonsChunkPlugins sieht jetzt wie folgt aus:

%Vor%

Das obige ergibt nun:

%Vor%

Läuft:

%Vor%

Ich kann überprüfen, ob alle winkelbezogenen Module sich jetzt in der vendor.angular.bundle.js befinden, und alle nicht eckigen Module befinden sich tatsächlich in vendor.bundle.js

    
Nick 29.07.2016, 18:46
quelle