2014-11-22 31 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 
}