无法正确访问NODE_ENV环境variables,这是node.js的错误吗?

我正在访问NODE_ENV环境variables来打开node.js服务器中的一些debuggingfunction。 它曾经像一个魅力工作,但现在我面对一些非常奇怪的东西。 这是我正在做的事情:

// check if the env var is OK console.log(process.env.NODE_ENV); // WTF??? if (process.env.NODE_ENV == "development") { console.log("ok"); } else { console.log("nope"); } // sanity check var str = "development"; if (str == "development") { console.log("ok"); } else { console.log("nope"); } 

这里是我得到的:

 development nope ok 

这怎么可能? 我在node.js中遇到一个错误吗? 如果没有,我做错了什么?

编辑

下面的Pointy的评论,这是我得到的,如果我改变我的初始日志console.log("[" + process.env.NODE_ENV + "]");

 ]development nope ok 

那么,一个已知的问题可能?

看起来你的环境variables有一些有趣的字符,可能是由于它被设置在Node.js之外的方式。 你可以试试这个:

 if (process.env.NODE_ENV.replace(/\W/g, '') == 'development') { console.log('ok'); }