【问题标题】:NODE_ENV is showing undefined although i set environment variable尽管我设置了环境变量,但 NODE_ENV 显示未定义
【发布时间】:2018-07-22 17:45:59
【问题描述】:

我正在使用 webstorm,我尝试使用设置环境变量

set NODE_ENV=development

当我检查环境变量时使用

echo%NODE_ENV%

我认为发展是答案。

但是在我的节点应用程序中,当我使用检查变量时

 var b= process.env.NODE_ENV;

我明白了

b:undefined

我什至尝试在 package.json 文件中使用以下内容

"start": "set  node ./bin/www && NODE_ENV=production "

我仍然不确定。我不知道这里有什么问题。

【问题讨论】:

    标签: javascript node.js


    【解决方案1】:

    你应该先设置变量,然后运行脚本:

    "start": "set NODE_ENV=production&& node ./bin/www"
    

    请注意,这仅适用于 Windows。如果您想要一个跨平台的解决方案,请使用cross-env 包:

    cross-env NODE_ENV=production node ./bin/www
    

    【讨论】:

    • 我试过了,一开始没用,所以我换了,但还是没用
    • @PuskarShestha 你可以试试cross-env 包。
    • 我目前在 Windows 上,但我试过了,但还是不行。
    • @PuskarShestha 当你 console.log(process.env) 时你会得到什么?
    • 我使用调试器检查了 process.env,里面没有 NODE_ENV。似乎变量还没有将自己锁定到进程对象
    【解决方案2】:

    改用导出

    "start": "export NODE_ENV=production && node ./bin/www"

    【讨论】:

    • 你有什么节点版本? $node -v
    • 8.9.4 。当我在调试器中检查 process.env 时,它不包含 NODE_ENV 环境变量。似乎它没有锁定到进程对象
    • 我在 VS 代码中尝试了这个程序,并在 powershell 中编写了以下内容。 $env:NODE_ENV="development" ;节点 www 。这似乎有效。但它在 webstorm 中不起作用
    • 如果您使用的是 webstrom 终端,根据此:stackoverflow.com/questions/7707329/… 无法使用命令直接设置 node_env 但是您可以在 node.js 中设置environment variable Run/Debug Configuration jetbrains.com/help/webstorm/…跨度>
    【解决方案3】:

    以下内容对我有用,因为我的目标是尝试将包依赖性保持在我真正需要的范围内:

    "startwin": "SET NODE_ENV=production& SET SOME_TOKEN=123abc& node ./bin/www",
    "start": "NODE_ENV=production SOME_TOKEN=123abc node ./bin/www" 
    

    一个缺点是每次需要另一个环境变量时,我有 2 个地方要编辑,但这几乎不是什么努力(至少在我的情况下,你的可能不同)。

    【讨论】:

    • 感谢您的回复,但我仍然不确定
    • 我在 VS 代码中尝试了这个程序,并在 powershell 中编写了以下内容。 $env:NODE_ENV="development" ;节点 www 。这似乎有效。但它在 webstorm 中不起作用
    【解决方案4】:

    如果您需要单独的 config.js,请确保它是第一个。您可能有竞争条件。

    我昨天遇到了这样的事情。这可能是也可能不是您的问题。当我运行我的代码时,我的环境变量是未定义的。我将整个库移动到一个单独的模块中。我需要那个模块。我的问题是我的要求不正常,所以当它询问时,它还没有设置。我将我的 config.js 要求移到了我的库包要求之上。

    【讨论】:

      猜你喜欢
      • 2015-07-11
      • 2020-01-01
      • 2019-07-25
      • 1970-01-01
      • 1970-01-01
      • 2021-02-20
      • 1970-01-01
      • 2014-03-16
      • 2021-07-24
      相关资源
      最近更新 更多