Ich versuche, meine Angular 5.2-App auf Angular 6 zu aktualisieren. Ich habe die Anweisungen im Angular-Update-Handbuch (einschließlich des Updates angular-cli
auf Version 6) erfolgreich befolgt und versuche nun, die App über bereitzustellen
ng serve --env=local
Aber das gibt mir Fehler:
Unbekannte Option: '--env'
Ich verwende mehrere Umgebungen ( dev/local/prod
), und so funktionierte es in Angular 5.2. Wie kann ich die Umgebung jetzt in Angular 6 einstellen?
angular
angular6
angular-cli
Martin Adámek
quelle
quelle
angular-cli
zusammen mit der gesamten App, also dachte ich, es ist offensichtlich:]Antworten:
Sie müssen die neue
configuration
Option verwenden (dies funktioniert auch fürng build
undng serve
)oder
Wenn Sie sich Ihre
angular.json
Datei ansehen, werden Sie feststellen, dass Sie die Einstellungen für jede Konfiguration (aot, Optimierer, Umgebungsdateien, ...) genauer steuern können.Sie können weitere Informationen erhalten Sie hier für die Verwaltung von umgebungsspezifischen Konfigurationen.
Wie in der anderen Antwort unten ausgeführt, müssen Sie, wenn Sie eine neue 'Umgebung' hinzufügen müssen, der Erstellungsaufgabe und je nach Ihren Anforderungen auch den Serving- und Testaufgaben eine neue Konfiguration hinzufügen .
Hinzufügen einer neuen Umgebung
Bearbeiten : Um dies zu verdeutlichen, müssen im
build
Abschnitt Dateiersetzungen angegeben werden . Wenn Sie alsong serve
mit einer bestimmtenenvironment
Datei (z. B. dev2 ) verwenden möchten , müssen Sie zuerst denbuild
Abschnitt ändern , um eine neue dev2- Konfiguration hinzuzufügenÄndern Sie dann Ihren
serve
Abschnitt, um auch eine neue Konfiguration hinzuzufügen, und verweisen Sie auf die soeben deklarierte dev2-build
KonfigurationDann können Sie verwenden
ng serve -c dev2
, die die dev2-Konfigurationsdatei verwendenquelle
baseHref
OptionVSCode
. InAngular 6
natürlich. Damit derng serve
Befehl beim Starten desChrome
Browsers den Remote-Debugger-Port enthält .Diese Antwort scheint gut zu sein.
Dies führte mich jedoch zu einem Fehler, der zu einem
Configuration 'xyz' could not be found in project ...
Fehler beim Erstellen führte.
Es ist nicht nur erforderlich, Build- Konfigurationen zu aktualisieren , sondern auch zu bedienen .
Also nur um keine Verwirrung zu hinterlassen:
--env
wird in nicht unterstütztangular 6
--env
wurde in--configuration
|| geändert-c
(und ist jetzt mächtiger)angular.json
Datei vorgenommen werden:{ ... "build": "configurations": ...
Eigenschaft eine neue Konfiguration hinzufileReplacements
Teil (es stehen jedoch weitere Optionen zur Verfügung).{ ... "serve": "configurations": ...
Eigenschaft eine neue Konfiguration hinzubrowserTarget="your-project-name:build:staging"
quelle
Du kannst es versuchen:
ng serve --configuration=dev/prod
So bauen Sie Verwendung:
ng build --prod --configuration=dev
Ich hoffe, Sie verwenden eine andere Umgebung.
quelle
Für Winkel 2 - 5 siehe Artikel Multiple Environment in
Für Angular 6 verwenden
ng serve --configuration=dev
quelle
Sie können den Befehl
ng serve -c dev
für die Entwicklungsumgebungng serve -c prod
für die Produktionsumgebung verwendenBeim Bauen gilt auch das Gleiche. Sie können
ng build -c dev
für Dev Build verwendenquelle
Angular unterstützt nicht mehr --env, sondern muss verwendet werden
für Entwicklungsumgebung und,
für die Produktion.
HINWEIS:
-c
oder--configuration
quelle
-c
(mit einem einfachen Strich) oder--configuration
(mit doppelten Strichen).Verwenden Sie diesen Befehl zum Erstellen von Angular 6
quelle