【问题标题】:Unable to change environmental variables in node.js in Visual Studio Code无法在 Visual Studio Code 中更改 node.js 中的环境变量
【发布时间】:2021-12-15 13:49:55
【问题描述】:

我是新来的,而且我是这种编程语言的新手,所以也许我的问题很明显。

我正在尝试在 Visual Studio Code 的 Node.js 中设置一个环境变量(例如 NODE_ENV 到生产环境)。我尝试使用 .env 文件并使用 dotenv 包进行设置。这似乎不起作用,当我尝试将变量打印到控制台时,它会打印“未定义”。这是我在 .env 文件中包含的部分:

NODE_ENV = production 

这是我尝试运行的 js 文件的一部分:

const path = require('path')
require('dotenv').config()
console.log(process.env.NODE_ENV)

当我运行时,这个“未定义”会打印到控制台。我还尝试将文件的位置作为参数与 dotenv 的配置一起传递,例如 this。那没有用。 我什至尝试像这样直接通过launch.json设置环境变量:

"version": "0.2.0",
    "configurations": [
        {
            "type": "pwa-node",
            "request": "launch",
            "name": "Launch Program",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "${file}",
            "env": {
                "NODE_ENV" : "production",
            }
        }

    ]
}

那也没用。

这是为什么?为什么 Visual Studio Code 不能更改环境变量? 提前致谢。

【问题讨论】:

    标签: node.js visual-studio-code environment-variables


    【解决方案1】:

    根据dotenv 的文档,变量名与其值之间不应有空格。

    语法为:VARNAME=VALUE

    所以你的.env 文件应该是

    NODE_ENV=production
    

    【讨论】:

    • 不幸的是,这不起作用。 “未定义”仍会打印到控制台。
    • 嘿@LaucsInuhre 在发帖之前我已经自己测试了答案!我不知道那是怎么回事!您如何调试您的应用程序并实际查看发生了什么?
    • 发生了一些奇怪的事情:当我使用调试控制台运行程序时,它确实知道变量是什么并打印它们,但是当我通过终端运行 server.js 时,它显示未定义。
    • @LaucsInuhre 为什么不制作一个可重现的小示例并将其放入 git hub 存储库中以便我们自己检查呢?
    • 谢谢,但我已经通过完全避免环境变量来“解决”它。
    猜你喜欢
    • 2015-10-03
    • 1970-01-01
    • 2018-07-13
    • 2015-07-09
    • 1970-01-01
    • 2018-03-20
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    相关资源
    最近更新 更多