我在Express js应用程序中使用了许多console.log()。如何使用npm脚本禁用所有这些console.log消息? 例如:“ nodemon index.js DEBUG = false”
答案 0 :(得分:1)
在开发中通常使用console.log()
打印日志消息到终端。 但是当目标是终端或文件时,这些功能是同步的,因此它们不适合生产。
使用debug之类的特殊调试模块代替使用console.log()
。
但是,简单的方法是将这段代码放在app.listen()
的回调函数中:
// server.js
app.listen(3000, () => {
if(!process.env.DEBUG){
console.log = function(){}
}
// when DEBUG = false all console.log will not log
console.log('server started')
});
有关更多Express.js best practices: performance and reliability的信息,请查看其官方文档。
答案 1 :(得分:0)
您可以使用此插件删除所有console。*调用。
npm install babel-plugin-transform-remove-console --save
添加具有这些配置的.babelrc文件
{
"env": {
"production": {
"plugins": ["transform-remove-console"]
}
}
}