【问题标题】:process.env.NODE_ENV is in development still it shows unexpected behivourprocess.env.NODE_ENV 仍在开发中,但仍显示出意外行为
【发布时间】:2016-05-06 21:22:15
【问题描述】:

我在开发环境中运行我的节点服务器,但在我的服务器文件中它显示出意外的行为

我的剧本是休闲的:

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("------------------------------");

但它给出以下输出

------------------------------
envenv string 'development'
0 string
00 'development'
2 false
3 false
2 false
3 false
------------------------------

当我尝试任何以下操作时,它都运行良好

var env = process.env.NODE_ENV.trim(); 
var env = process.env.NODE_ENV.toLowerCase();
var env = process.env.NODE_ENV.replace("","");

.............

或除 toString() 之外的任何方法,它们在 String 类的原型中 效果很好

【问题讨论】:

    标签: node.js express environment-variables development-environment


    【解决方案1】:

    环境变量 NODE_ENV 包含多余的'。设置环境变量时出现问题。对于windows系统使用

    > SET NODE_ENV=development
    

    而不是

    > SET NODE_ENV='development'
    

    这应该可以解决问题。

    要获取在命令行上打印的 NODE_ENV 的当前值,请使用

    > echo %NODE_ENV%
    

    应该打印出来

    > development
    

    没有任何"或'

    【讨论】:

      【解决方案2】:

      如何设置NODE_ENV?我在 Windows 上工作,我刚刚花了一些时间来解决同样的问题,发现这是因为我的 npm 脚本看起来像 SET NODE_ENV=production && do everything else 所以 NODE_ENV 实际上包含空格作为最后一个字符,出于某种原因' 不显示在控制台中(我已经完成了与您的测试相同的一组测试,但我还检查了字符串的长度,发现 NODE_ENV 是一个比应有的更宽的符号)。将我的脚本更改为 SET NODE_ENV=production&& do everything else 解决了这个问题。

      【讨论】:

      • 我正在使用 set NODE_ENV=development && ...other,在 package.json 中的脚本内
      • @AkhileshKumar,然后正如我所解释的,删除 '&&' 之前的空格并检查它是否能解决您的问题。 NODE_ENV=development&&.
      • @aush 这就是答案。我有同样的问题,它解决了!
      【解决方案3】:

      console.log("00",env);

      这应该打印00 development 而不是00 'development'

      你应该重新设置你的环境。

      【讨论】:

        猜你喜欢
        • 2019-12-05
        • 1970-01-01
        • 2012-05-14
        • 2021-09-20
        • 2023-04-01
        • 2014-06-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多