Отключение console.log () в производственной среде - PullRequest
0 голосов
/ 12 декабря 2018

Я запустил следующее, чтобы отключить журналы консоли для производственных сред в моем угловом приложении.Приведенный ниже код работает, как и ожидалось, для Chrome, однако он все еще показывает журналы в IE 11.

main.ts

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

Это проблема с заполнением?Я не смог ничего найти в Интернете об этом.

РЕДАКТИРОВАТЬ

Этот вопрос может показаться похожим, но не решает мою проблему относительно того, почему переопределение функции журнала консолипустой метод работает в Chrome, но не IE 11.

Ответы [ 2 ]

0 голосов
/ 23 июля 2019

Я добавил пользовательскую функцию журнала в класс Utility.ts следующим образом

public static log(strValue: string) {
if (CoreService._env !== 'prod') {
  console.log(strValue);
}

}

Где переменная _env определена в CoreService и ей присвоено значение внутри app.component следующим образом

this.coreService.env = environment.env;

В файле environment.ts определите env следующим образом

export const environment = { env: 'dev'} // for production it will be 'prod'

И мой компонент использует

Utility.log("Print the value");

Таким образом, вы можете легко предотвратить вход в систему на производстве.

0 голосов
/ 12 декабря 2018

Решение - добавить полифилл в ваш файл polyfill.ts

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