当我在角度通用SSR中运行我的应用程序时,我在服务器控制台中打印控制台日志时遇到了问题。
我尝试了一些互联网解决方案。它在浏览器级别工作,它不在服务器级别工作。下面有我试过的代码。我将下面的代码放在main.ts文件中,但没有任何东西可以在SSR级别工作。
if (environment.production) {
enableProdMode();
if(window){
window.console.log=function(){};
} else {
console.log=function(){};
}
}
上面的代码适用于浏览器,它不能在服务器控制台上工作。当我运行这个命令时,npm run 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不显示。