Node.js process.env.NODE_env正在开发中,但它显示出意外的优点
我正在开发环境中运行节点服务器,但在服务器文件中,它显示了意外行为 我的脚本如下所示:Node.js process.env.NODE_env正在开发中,但它显示出意外的优点,node.js,express,environment-variables,development-environment,Node.js,Express,Environment Variables,Development Environment,我正在开发环境中运行节点服务器,但在服务器文件中,它显示了意外行为 我的脚本如下所示: var env = process.env.NODE_ENV; console.log("------------------------------"); console.log("envenv",typeof env,env); console.log("0",typeof env); console.log("00",env); console.log("2",env.toString()=='deve
var env = process.env.NODE_ENV;
console.log("------------------------------");
console.log("envenv",typeof env,env);
console.log("0",typeof env);
console.log("00",env);
console.log("2",env.toString()=='development');
console.log("3",""+env.toString()=='production');
console.log("2",env==='development');
console.log("3",env=="production");
console.log("------------------------------");
但它给出了以下输出
当我尝试以下任何一种方法时,效果都很好
或字符串类原型中除toString()以外的任何方法
它工作正常环境变量NODE_ENV包含多余的
“
。设置环境变量时出错。供windows系统使用
> SET NODE_ENV=development
而不是
> SET NODE_ENV='development'
这应该可以解决问题
要获取打印在命令行上的NODE_ENV的当前值,请使用
> echo %NODE_ENV%
应该打印出来
> development
没有“或”如何设置
节点\u ENV
?我在windows上工作,我刚刚花了一些时间来解决同样的问题,发现这是因为我的npm脚本看起来像是SET NODE_ENV=production&&do everything
,所以NODE_ENV
实际上包含空格作为最后一个字符,出于某种原因,它没有显示在控制台中(我做了与您相同的测试,但我也检查了字符串的长度,发现NODE_ENV比应该的宽一个符号)。将脚本更改为set NODE_ENV=production&&do everything
解决了这个问题
控制台日志(“00”,环境)
这应该打印00“开发”
,而不是00“开发”
您应该再次设置您的环境。我正在使用包中的脚本内的set NODE_env=development&&…other。json@AkhileshKumar,然后,正如我所解释的,删除“&&”之前的空白,检查它是否能解决您的问题。
NODE_ENV=development&
@aush这就是答案。我也遇到了同样的问题,它解决了!
> echo %NODE_ENV%
> development