2014-11-22 37 views
1

在我正在构建的Node API中,我想创建一个全局布尔以启用(或禁用)某些调试日志记录。我现在这样做的权利:在Node.js中使用“全局”

main.js(主入口点)我有:

global.DEBUG = true; 

然后在我使用的任何模块,我可以这样做:

if (DEBUG) { 
    // then do stuff 
} 

这样做有什么不妥吗?有没有更合适的方法,如果是的话,为什么这是更好的方法?

回答

4

你最好用环境变量来做这件事。

var DEBUG = process.env.DEBUG; 
if (DEBUG) { 
    // then do stuff 
} 

然后开始你的应用程序

$ DEBUG=TRUE node app.js 
+0

我正想说同样的话。我通常使用名为'LOG_LEVEL'的环境变量,可以是'ERROR','WARN','INFO','DEBUG'等。 – 2014-11-22 19:54:56

+0

我喜欢。让我想我应该去找[这个](https://www.npmjs.org/package/log)太哈哈了 – brandonscript 2014-11-22 19:57:58

-1

使用配置模块,包括它如果需要的话:

//conf.js 
module.exports = { 
DEBUG: true 
} 

//other.js 
if(require('./conf').DEBUG) 
0

你可以这样做:

global.debug = true ;// or false 

//and in any file 

if(global.debug){ 
    // something 
}