J'essaie de mettre à jour mon application Angular 5.2 vers Angular 6. J'ai suivi avec succès les instructions du guide de mise à jour Angular (y compris la mise angular-cli
à jour de vers v6), et maintenant j'essaie de servir l'application via
ng serve --env=local
Mais cela me donne une erreur:
Option inconnue: '--env'
J'utilise plusieurs environnements ( dev/local/prod
), et c'est ainsi que cela fonctionnait dans Angular 5.2. Comment puis-je définir l'environnement maintenant dans Angular 6?
angular
angular6
angular-cli
Martin Adámek
la source
la source
angular-cli
avec toute l'application, alors j'ai pensé queRéponses:
Vous devez utiliser la nouvelle
configuration
option (cela fonctionne aussi bien pourng build
etng serve
)ou
Si vous regardez votre
angular.json
fichier, vous verrez que vous avez un contrôle plus fin sur les paramètres de chaque configuration (aot, optimiseur, fichiers d'environnement, ...)Vous pouvez obtenir plus d'informations ici pour gérer les configurations spécifiques à l'environnement.
Comme indiqué dans l'autre réponse ci-dessous, si vous devez ajouter un nouvel «environnement», vous devez ajouter une nouvelle configuration à la tâche de génération et, en fonction de vos besoins, aux tâches de service et de test .
Ajouter un nouvel environnement
Modifier : pour que ce soit clair, les remplacements de fichiers doivent être spécifiés dans la
build
section. Donc, si vous souhaitez utiliserng serve
avec unenvironment
fichier spécifique (disons dev2 ), vous devez d'abord modifier labuild
section pour ajouter une nouvelle configuration dev2Puis modifiez votre
serve
section pour ajouter également une nouvelle configuration, en pointant vers la configuration dev2 quebuild
vous venez de déclarerEnsuite, vous pouvez utiliser
ng serve -c dev2
, qui utilisera le fichier de configuration dev2la source
baseHref
optionVSCode
. DansAngular 6
bien sûr. Pour que lang serve
commande inclue le port du débogueur distant lors du lancement duChrome
navigateur.Cette réponse semble bonne.
cependant, cela m'a conduit à une erreur car il en résultait une
Configuration 'xyz' could not be found in project ...
erreur de construction.
Il est nécessaire non seulement de mettre à jour les configurations de construction , mais également d'en servir .
Alors juste pour ne laisser aucune confusion:
--env
n'est pas pris en charge dansangular 6
--env
s'est changé en--configuration
||-c
(et est maintenant plus puissant)angular.json
fichier:{ ... "build": "configurations": ...
fileReplacements
partie, (mais plus d'options sont disponibles){ ... "serve": "configurations": ...
browserTarget="your-project-name:build:staging"
la source
Tu peux essayer:
ng serve --configuration=dev/prod
Pour construire, utilisez:
ng build --prod --configuration=dev
J'espère que vous utilisez un autre type d'environnement.
la source
Pour Angular 2-5, reportez-vous à l'article Multiple Environment in angular
Pour l'utilisation angulaire 6
ng serve --configuration=dev
la source
Vous pouvez utiliser la commande
ng serve -c dev
pour l'environnement de développementng serve -c prod
pour l' environnement de productiontandis que la construction s'applique également. Vous pouvez utiliser
ng build -c dev
pour la construction de développementla source
Angular ne prend plus en charge --env à la place, vous devez utiliser
pour l'environnement de développement et,
pour la production.
REMARQUE:
-c
ou--configuration
la source
-c
(avec un seul tiret) ou--configuration
(avec deux tirets).Utilisez cette commande pour Angular 6 pour construire
la source