Contamos con tu ayuda para compartir nuestros ensayos en referencia a las ciencias de la computación.
Solución:
Puedes usar esta función esDevMode
import isDevMode from '@angular/core';
...
export class AppComponent
constructor()
console.log(isDevMode());
Una nota: ten cuidado con esta función
if(isDevMode())
enableProdMode();
Conseguirás
Error: no se puede habilitar el modo de producción después de la configuración de la plataforma
- https://github.com/angular/angular/blob/2.0.0/modules/%40angular/core/src/application_ref.ts#L58
Otras opciones
Variable ambiental
import environment from 'src/environments/environment';
if (environment.production)
//
inyectado por la variable webpack process.env.NODE_ENV
declare let process: any;
const env = process.env.NODE_ENV;
if (env === 'production')
//
Según la guía de implementación angular en https://angular.io/guide/deployment#enable-production-mode:
Construir para producción (o agregar el indicador –environment=prod) habilita modo de producción Mire el CLI generado
main.ts
para ver cómo funciona esto.
main.ts
tiene lo siguiente:
import environment from './environments/environment';
if (environment.production)
enableProdMode();
así que revisa environment.production
para ver si está en producción.
Lo más probable es que NO quieras llamar isDevMode()
. Según la documentación de la API de Angular en https://angular.io/api/core/isDevMode:
Después de llamarlo una vez, el valor se bloquea y no cambiará más… Por defecto, esto es truea menos que un usuario llame a enableProdMode antes de llamar a this.
He encontrado ese llamado isDevMode()
desde un ng build --prod
construir siempre regresa true y siempre te obliga a ejecutar en modo de desarrollo. En su lugar, compruebe environment.production
para ver si está en producción. Entonces permanecerá en modo de producción.
depende de lo que preguntes…
Si quieres saber el mode
de Angular, como dijo @yurzui, debes llamar isDevMode from @angular/core
pero puede volver false
solo si llamas enableProdMode
antes de eso.
Si quieres saber el entorno de construcciónen otras palabras, si su aplicación se está ejecutando minimizada o no, debe establecer una variable de compilación en su sistema de compilación… Usando Webpack
por ejemplo, deberías echar un vistazo a definePlugin
.
https://webpack.github.io/docs/list-of-plugins.html#defineplugin
new webpack.DefinePlugin(
ENV_PRODUCTION: !!process.env.NODE_ENV
);