Esto parece fácil, pero no pude encontrar ninguna solución.
Entonces, ¿cómo verifico si mi aplicación se está ejecutando en modo de producción o en modo de desarrollo?
                    
                        angular
                                production
                                
                    
                    
                        maxbellec
fuente
                
                
            fuente

platformBrowserDynamic().bootstrapModule(AppModule);Según la guía de implementación angular en https://angular.io/guide/deployment#enable-production-mode :
main.tstiene lo siguiente:Así que verifica
environment.productionsi estás en producción.Lo más probable es que NO quieras llamar
isDevMode(). Según la documentación de la API angular en https://angular.io/api/core/isDevMode :Descubrí que llamar
isDevMode()desde unang build --prodcompilación siempre devuelve verdadero y siempre te bloquea para ejecutarte en modo dev. En cambio, verifiqueenvironment.productionsi está en producción. Entonces permanecerás en modo de producción.fuente
isDevMode()es una forma perfectamente buena de lograrlo ese.depende de lo que estés preguntando ...
Si desea conocer
modeAngular, como dijo @yurzui, debe llamar,{ isDevMode } from @angular/corepero solo puede regresarfalsesi llamaenableProdModeantes.Si desea conocer el entorno de compilación , en otras palabras, si su aplicación se ejecuta minimizada o no, debe establecer una variable de compilación en su sistema de compilación ... Utilizando
Webpack, por ejemplo, debería echar un vistazodefinePlugin.https://webpack.github.io/docs/list-of-plugins.html#defineplugin
fuente
Este era mi código, así que recibí el mismo error. Acabo de intercambiar las líneas 3 y 4. Luego se solucionó el problema . Entonces, antes del módulo de arranque, debemos habilitar el modo --prod.
El correcto se puede poner de esta manera,
fuente
Debe tener cuidado de verificar el valor de retorno de la
isDevMode()función.Mi configuración fallaba porque estaba comprobando la existencia:
if (isDevMode)siempretrue, incluso en producción porque lo declaraba conimport { isDevMode } from '@angular/core';.if (isDevMode())devueltofalsecorrectamentefuente
ng build --prod=truecli angularif ( isDevMode )solo comprueba si el identificador isDevMode está definido, no es nulo y no está vacío ni cero. Como el identificador se definió en@angular/coreque if () siempre devolverá verdadero . Ahora, enif( isDevMode() )realidad llamará a la función y regresará si es un entorno de desarrollo o no.Simplemente verifique la variable de producción presente en el archivo de entorno, será verdadera para el modo de producción y falsa para el desarrollo.
fuente