Javascript 使用;“全球”;在Node.js中

Javascript 使用;“全球”;在Node.js中,javascript,node.js,Javascript,Node.js,在我正在构建的节点API中,我需要一种快速而肮脏的方法来创建全局bool,以启用(或禁用)一些调试日志记录。我现在正在这样做: 在main.js(主入口点)中,我得到了: global.DEBUG = true; 然后在我使用的任何模块中,我都可以: if (DEBUG) { // then do stuff } 这样做有什么不对吗?是否有更合适的方法?如果是,为什么是更好的方法?您最好使用环境变量 var DEBUG = process.env.DEBUG; if (DEBUG

在我正在构建的节点API中,我需要一种快速而肮脏的方法来创建全局bool,以启用(或禁用)一些调试日志记录。我现在正在这样做:

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\u LEVEL
的环境变量,它可以是
ERROR
WARN
INFO
DEBUG
,等等。我喜欢它。让我觉得我也该去找了哈哈