在我正在構建的Node API中,我想創建一個全局布爾以啓用(或禁用)某些調試日誌記錄。我現在這樣做的權利:在Node.js中使用「全局」
在main.js
(主入口點)我有:
global.DEBUG = true;
然後在我使用的任何模塊,我可以這樣做:
if (DEBUG) {
// then do stuff
}
這樣做有什麼不妥嗎?有沒有更合適的方法,如果是的話,爲什麼這是更好的方法?
在我正在構建的Node API中,我想創建一個全局布爾以啓用(或禁用)某些調試日誌記錄。我現在這樣做的權利:在Node.js中使用「全局」
在main.js
(主入口點)我有:
global.DEBUG = true;
然後在我使用的任何模塊,我可以這樣做:
if (DEBUG) {
// then do stuff
}
這樣做有什麼不妥嗎?有沒有更合適的方法,如果是的話,爲什麼這是更好的方法?
你最好用環境變量來做這件事。
var DEBUG = process.env.DEBUG;
if (DEBUG) {
// then do stuff
}
然後開始你的應用程序
$ DEBUG=TRUE node app.js
使用配置模塊,包括它如果需要的話:
//conf.js
module.exports = {
DEBUG: true
}
//other.js
if(require('./conf').DEBUG)
你可以這樣做:
global.debug = true ;// or false
//and in any file
if(global.debug){
// something
}
我正想說同樣的話。我通常使用名爲'LOG_LEVEL'的環境變量,可以是'ERROR','WARN','INFO','DEBUG'等。 – 2014-11-22 19:54:56
我喜歡。讓我想我應該去找[這個](https://www.npmjs.org/package/log)太哈哈了 – brandonscript 2014-11-22 19:57:58