Estoy tratando de actualizar mi aplicación Angular 5.2 a Angular 6. Seguí con éxito las instrucciones en la guía de actualización Angular (incluida la actualización angular-cli
a v6), y ahora estoy tratando de servir la aplicación a través de
ng serve --env=local
Pero esto me da un error:
Opción desconocida: '--env'
Uso múltiples entornos ( dev/local/prod
), y esta es la forma en que funcionaba en Angular 5.2. ¿Cómo puedo configurar el entorno ahora en Angular 6?
angular
angular6
angular-cli
Martin Adámek
fuente
fuente
angular-cli
junto con toda la aplicación, así que pensé que era obvio:]Respuestas:
Necesita usar la nueva
configuration
opción (esto funciona parang build
yng serve
también)o
Si mira su
angular.json
archivo, verá que tiene un control más fino sobre la configuración de cada configuración (aot, optimizador, archivos de entorno, ...)Puedes obtener más información aquí para administrar configuraciones específicas del entorno.
Como se señala en la otra respuesta a continuación, si necesita agregar un nuevo 'entorno', debe agregar una nueva configuración a la tarea de compilación y, según sus necesidades, también a las tareas de servicio y prueba .
Agregar un nuevo entorno
Editar : para que quede claro, los reemplazos de archivos deben especificarse en la
build
sección. Entonces, si desea usarng serve
con unenvironment
archivo específico (por ejemplo, dev2 ), primero debe modificar labuild
sección para agregar una nueva configuración de dev2Luego modifique su
serve
sección para agregar una nueva configuración también, señalando la configuración dev2build
que acaba de declararLuego puede usar
ng serve -c dev2
, que usará el archivo de configuración dev2fuente
baseHref
opciónVSCode
. PorAngular 6
supuesto. Para que elng serve
comando incluya el puerto del depurador remoto al iniciar elChrome
navegador.Esta respuesta parece buena.
Sin embargo, me llevó a un error, ya que resultó con un
Configuration 'xyz' could not be found in project ...
error en la compilación.
Se requiere no solo para actualizar las configuraciones de compilación , sino también para servir .
Tan solo para no dejar confusiones:
--env
no es compatible conangular 6
--env
se cambió a--configuration
||-c
(y ahora es más poderoso)angular.json
archivo:{ ... "build": "configurations": ...
propiedad defileReplacements
parte (pero hay más opciones disponibles){ ... "serve": "configurations": ...
propiedad debrowserTarget="your-project-name:build:staging"
fuente
Puedes probar:
ng serve --configuration=dev/prod
Para construir el uso:
ng build --prod --configuration=dev
Espero que estés usando un tipo diferente de entorno.
fuente
Para Angular 2 - 5 consulte el artículo Entorno múltiple en angular
Para uso angular 6
ng serve --configuration=dev
fuente
Puede usar el comando
ng serve -c dev
para el entorno de desarrollong serve -c prod
para el de producciónmientras que la construcción también se aplica. Puedes usar
ng build -c dev
para desarrollo de desarrollofuente
Angular ya no es compatible con --env, sino que debe usar
para entorno de desarrollo y,
para producción
NOTA:
-c
o--configuration
fuente
-c
(con un solo guión) o--configuration
(con guiones dobles).Use este comando para Angular 6 para construir
fuente