Есть ли способ остановить консольные логи в универсальной сборке SSR? - PullRequest
0 голосов
/ 09 апреля 2019

У меня возникла проблема с печатью журналов консоли на консоли сервера, когда я запускаю свое приложение в универсальной угловой SSR.

Я попробовал некоторые решения в интернете. он работает на уровне браузера, он не работает на уровне сервера. ниже есть код, что я пытался. я поместил приведенный ниже код в файл main.ts, но на уровне SSR ничего не получится.

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

приведенный выше код отлично работает с браузером и не работает на консоли сервера. пока я выполняю эту команду, npm run serve: ssr

Пожалуйста, помогите мне решить проблему.

1 Ответ

1 голос
/ 09 апреля 2019

Это должно работать.

Вы уверены, что строите производство?поместите console.log перед enableProdMode();, чтобы убедиться, что код вводится туда.(И еще один раз после этого, чтобы увидеть, что консоли больше не отображаются)

if (environment.production) {
  console.log('Enabling prod');
  enableProdMode();
  if(window){
    window.console.log=function(){};
  } else {
    console.log=function(){};
  }
   console.log('Production enabled, this console.log won't appear');
}

У меня есть команда в моем package.json, чтобы попробовать это:

 "build:ssr:serve": "ng build --prod && ng run ssr:server:production && node dist/server"

Затем выполните ее с: npm run build:ssr:serve и второй файл console.log не отображается.

...