有没有办法停止通用 SSR 构建中的控制台日志?

Is there any way to stop the console logs in universal SSR build?

当我在 angular 通用 SSR 中 运行 安装我的应用程序时,我在服务器控制台中打印控制台日志时遇到了问题。

我尝试了网上的一些解决方案。它在浏览器级别工作,在服务器级别不工作。下面是我试过的代码。我将以下代码放在 main.ts 文件中,但在 SSR 级别没有任何效果。

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

以上代码在浏览器上运行良好,但在服务器控制台上无法运行。当我 运行 宁此命令 npm 运行 serve:ssr

请帮我解决问题。

应该可以。

您确定正在生产中吗?在 enableProdMode(); 之前放置一个 console.log 以确保代码从那里进入。 (还有一个刚刚看到控制台不再显示)

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 不显示。