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-clia 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-clijunto con toda la aplicación, así que pensé que era obvio:]Respuestas:
Necesita usar la nueva
configurationopción (esto funciona parang buildyng servetambién)o
Si mira su
angular.jsonarchivo, 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
buildsección. Entonces, si desea usarng servecon unenvironmentarchivo específico (por ejemplo, dev2 ), primero debe modificar labuildsección para agregar una nueva configuración de dev2Luego modifique su
servesección para agregar una nueva configuración también, señalando la configuración dev2buildque acaba de declararLuego puede usar
ng serve -c dev2, que usará el archivo de configuración dev2fuente
baseHrefopciónVSCode. PorAngular 6supuesto. Para que elng servecomando incluya el puerto del depurador remoto al iniciar elChromenavegador.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:
--envno es compatible conangular 6--envse cambió a--configuration||-c(y ahora es más poderoso)angular.jsonarchivo:{ ... "build": "configurations": ...propiedad defileReplacementsparte (pero hay más opciones disponibles){ ... "serve": "configurations": ...propiedad debrowserTarget="your-project-name:build:staging"fuente
Puedes probar:
ng serve --configuration=dev/prodPara construir el uso:
ng build --prod --configuration=devEspero 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=devfuente
Puede usar el comando
ng serve -c devpara el entorno de desarrollong serve -c prodpara el de producciónmientras que la construcción también se aplica. Puedes usar
ng build -c devpara desarrollo de desarrollofuente
Angular ya no es compatible con --env, sino que debe usar
para entorno de desarrollo y,
para producción
NOTA:
-co--configurationfuente
-c(con un solo guión) o--configuration(con guiones dobles).Use este comando para Angular 6 para construir
fuente