2017-03-08 5 views
1

Wenn ich webpack von der Befehlszeile ausführen, baut es nur alles von Grund auf neu. Wie können wir Webpack dazu bringen, inkrementelle Builds über Aufrufe der webpack CLI hinweg zu erstellen, so dass es nur geänderte Dateien analysiert und transpiliert?Wie werden inkrementelle Builds mit Webpack für jeden Aufruf über die Befehlszeile durchgeführt?

Ich möchte dafür über jeden Aufruf von webpack ohne einen langwierigen Prozess arbeiten.

webpack --watch und webpack-dev-server sind keine Optionen, weil sie in Betrieb bleiben, was ich nicht will.

Zum Beispiel möchte ich webpack ausführen, und es wird beendet, dann das nächste Mal, wenn ich laufen lasse Ich möchte, dass es klug ist und nicht alles alles neu erstellen, nur geänderte Dateien neu erstellen.

Antwort

0

Dies ist etwa webpack 1.x aber sollte für 2.x sein:

Build Performance > Incremental Build:

sicher, dass Sie nicht eine vollständige Wiederherstellung tun. Webpack verfügt über eine großartige Caching-Ebene, mit der Sie bereits kompilierte Module im Speicher behalten können. Es gibt einige Werkzeuge, die helfen, es zu verwenden:

webpack-dev-server: Serves alle Webpack-Assets aus dem Speicher. Beste Leistung.
webpack-dev-middleware: Die gleiche Leistung wie Webpack-dev-Server für fortgeschrittene Benutzer.
webpack –watch oder watch: true: Caches Zeug, aber schreiben Sie Vermögenswerte auf die Festplatte. Ok Leistung.

Sie erwähnen nicht inkrementellen explizit in der Dokumentation von 2.x, aber sie erwähnen noch die das Caching in Command Line Interface (CLI).

+0

Danke für die Antwort. Meine Anforderung ist, dass kein Prozess läuft. Ich möchte 'webpack' ausführen und es wird beendet, und wenn ich 'webpack' das nächste Mal ausführe, wird keine vollständige Neuerstellung durchgeführt. 'webpack-dev-server' und' webpack -watch' lassen den Prozess laufen. Was ist mit 'webpack-dev-middleware'? Können wir inkrementelle Builds erstellen, ohne einen laufenden Prozess mit 'webpack-dev-middleware' zu ​​verlassen? – trusktr

0

Ich empfehle wärmstens webpack --watch. "Wenn der Watch-Modus verwendet wird, installiert Webpack File Watcher für alle Dateien, die beim Kompilieren verwendet wurden. Wenn Änderungen festgestellt werden, wird die Kompilierung erneut ausgeführt. Wenn Caching aktiviert ist, behält Webpack jedes Modul im Speicher Verwende es, wenn es nicht geändert wird. "

+0

Danke für die Antwort. Meine Anforderung ist, dass kein Prozess läuft, aber Watch-Modus lassen Webpack laufen. Ich muss nur 'webpack' ausführen, und wenn ich das nächste Mal' webpack' starte, möchte ich, dass es nicht mehr komplett neu erstellt wird. – trusktr

+0

Dies scheint ein Optionsproblem für das Webpack zu sein: https://github.com/webpack/webpack/issues/250 –

Verwandte Themen