Búsqueda de sitios web

typescript - Deshabilitar console.log() en producción


He ejecutado lo siguiente para deshabilitar los registros de consola en entornos de producción en mi aplicación Angular. El código a continuación funciona como se espera en Chrome, sin embargo, todavía muestra registros en IE 11.

principal.ts

if (environment.production) {
  enableProdMode();
if(window){
  window.console.log=function(){};
 }
}

¿Es esto un problema de polyfill? No pude encontrar nada en línea al respecto.

EDITAR

Esta pregunta puede parecer similar, pero no aborda mi problema sobre por qué anular la función de registro de la consola con un método en blanco funciona en Chrome pero no en IE 11.

Respuesta #1

La pregunta ha sido respondida y la respuesta ha sido aceptada, pero quiero mostrarte una mejor manera de deshabilitar/apagar console.log en producción. bajo src/environments agrega un environment.ts con el siguiente contenido:

export const environment = {
  production: false,

  mode: 'Dev'
} 

En el main.ts importa la envirenmont const:

import './polyfills';
...
import { environment } from './environments/environment';

Ahora agrega el siguiente fragmento de código:

..

if (environment.production) {
      window.console.log = () => { }
}

platformBrowserDynamic().bootstrapModule(AppModule).then(ref => {
  ...
}).catch(err => console.error(err)); 

Para probar esto, agrega un console.log en el constructor del app.component.ts:

...
@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ]
})
export class AppComponent  {
  ...
  constructor() {    
    console.log('How to switch off logging in Production?')
  }
}

Cambia el environment.production a true/false para ver el resultado. Aquí hay un stackblitz funcional

Respuesta #2

La solución es agregar el polyfill a tu archivo polyfill.ts

if(!window.console) {
 var console = {
  log : function(){},
  warn : function(){},
  error : function(){},
  time : function(){},
  timeEnd : function(){}
 }
}

Artículos relacionados