UPDATE: Dezember 2018 (siehe 'Aniket'-Antwort)
Mit Angular CLI 6 müssen Sie Builder verwenden, da ng eject veraltet ist und in 8.0 bald entfernt wird
UPDATE: Juni 2018: Angular 6 unterstützt ng eject ** nicht
UPDATE: Februar 2017: Verwenden Sie ng eject
UPDATE: November 2016: angle-cli verwendet jetzt nur noch das Webpack. Sie müssen nur normal mit npm install -g angle-cli installieren. "Wir haben das Build-System zwischen Beta.10 und Beta.14 von SystemJS auf Webpack geändert."
Ich habe Angular Cli damit installiert:
npm install -g angular-cli@webpack
Als ich mit angle1 und web pack gearbeitet habe, habe ich die Datei "webpack.config.js" geändert, um alle Aufgaben und Plugins auszuführen, aber ich sehe bei diesem mit angle-cli erstellten Projekt nicht, wer es macht. es ist Magie?
Ich sehe, dass Webpack funktioniert, wenn ich es tue:
ng serve
"Version: webpack 2.1.0-beta.18"
aber ich verstehe nicht, wie angular-cli config funktioniert ...
quelle
ng eject
Antworten:
Mit Angular CLI 6 müssen Sie Builder verwenden, da ng eject veraltet ist und in 8.0 bald entfernt wird. Das steht, wenn ich versuche, einen ng-Auswurf durchzuführen
Sie können das Angular -Builder-Paket ( https://github.com/meltedspark/angular-builders ) verwenden, um Ihre benutzerdefinierte Webpack-Konfiguration bereitzustellen.
Ich habe versucht, alles in einem einzigen Blog-Beitrag in meinem Blog zusammenzufassen - So passen Sie die Build-Konfiguration mit der benutzerdefinierten Webpack-Konfiguration in Angular CLI 6 an
Im Wesentlichen fügen Sie jedoch folgende Abhängigkeiten hinzu:
Nehmen Sie in angle.json folgende Änderungen vor:
Beachten Sie die Änderung im Builder und die neue Option customWebpackConfig. Auch ändern
Beachten Sie die Änderung im Builder erneut für das Serve-Ziel. Nach diesen Änderungen können Sie eine Datei mit dem Namen custom-webpack.config.js in demselben Stammverzeichnis erstellen und dort Ihre Webpack-Konfiguration hinzufügen.
Im Gegensatz zur hier bereitgestellten ng-Auswurfkonfiguration wird sie jedoch mit der Standardkonfiguration zusammengeführt. Fügen Sie also einfach Dinge hinzu, die Sie bearbeiten / hinzufügen möchten.
quelle
ng serve
nur nach 5 Sekunden ohne Ausgabe beendet. Mein Projekt verwendet Winkel Cli 7 und Winkel Kern 5.scripts
Eigenschaft von package.json vornehmen ?@angular-builders/dev-server:generic
veraltet ist. Verwenden Sie@angular-builders/custom-webpack:dev-server
stattdessen". Könnten Sie diese Antwort aktualisieren, um dies widerzuspiegeln?Es gibt eine gute Möglichkeit, webpack.config.js aus angle -cli auszuwerfen . Renn einfach:
Dadurch wird webpack.config.js im Stammordner Ihres Projekts generiert, und Sie können es nach Ihren Wünschen konfigurieren. Der Nachteil dabei ist, dass Build / Start-Skripte in Ihrer package.json durch die neuen Befehle ersetzt werden und stattdessen
du müsstest so etwas tun
Diese Methode sollte in allen neueren Versionen von Angular-Cli funktionieren (ich persönlich habe einige ausprobiert, wobei die älteste 1.0.0-beta.21 und die neueste 1.0.0-beta.32.3 ist ).
quelle
Gemäß diesem Problem war es eine Entwurfsentscheidung, Benutzern nicht zu erlauben, die Webpack-Konfiguration zu ändern, um die Lernkurve zu verkürzen.
Angesichts der Anzahl nützlicher Konfigurationen in Webpack ist dies ein großer Nachteil.
Ich würde nicht empfehlen,
angular-cli
für Produktionsanwendungen zu verwenden, da es eine hohe Meinung hat.quelle
Die Webpack-Konfiguration der CLI kann jetzt ausgeworfen werden. Überprüfen Sie die Antwort von Anton Nikiforov .
veraltet:
Sie können die Konfigurationsvorlage in hacken
angular-cli/addon/ng2/models
. Es gibt derzeit keine offizielle Möglichkeit, die Webpack-Konfiguration zu ändern.Es gibt ein geschlossenes "Wont-Fix" -Problem bei Github: https://github.com/angular/angular-cli/issues/1656
quelle
Was ich denke ist, dass Webpack bei der Produktionsfreigabe einfach wäre.
Zu Ihrer Information: https://github.com/Piusha/ngx-lazyloading
quelle
Nach dem Vorschlag von
ng eject
Ihnen können verwendenngx-build-plus
quelle