【问题标题】:How to use an environment variable value in another environment variable name and value using dotenv?如何使用 dotenv 在另一个环境变量名称和值中使用环境变量值?
【发布时间】:2020-07-12 21:36:14
【问题描述】:

对于我的测试框架,我使用dotenv 来读取和初始化不同测试环境的环境变量。现在我想使用一个特定的环境变量值作为值的一部分和另一个环境变量的名称。

所以,我在使用 dotenv 初始化 env 文件之前设置了 env var export INSTANCE=1。

这是我的 env 文件,其中包含我想用 dotenv 初始化的所有 env 变量:

# INSTANCE as part of env var value
MY_DOMAIN="http://mypage/"$INSTANCE""

# INSTANCE as part of env var name
SUBDOMAIN"$INSTANCE"="/mysubdomain"

而且这个指标也不起作用:

# INSTANCE as part of env var value
MY_DOMAIN=http://mypage/${INSTANCE}

# INSTANCE as part of env var name
SUBDOMAIN${INSTANCE}=/mysubdomain

这可以通过 bash 来实现

export MY_DOMAIN="http://mypage/"$INSTANCE"" SUBDOMAIN"$INSTANCE"="/mysubdomain"

echo $MY_DOMAIN
http://mypage/1

echo $SUBDOMAIN1
/mysubdomain

但是使用dotenv 对我不起作用。我有以下代码:

const dotenv = require("dotenv");
var result = dotenv.config({ path: '/path/to/my/env/file' });

console.log(result.parsed);

console.log 产生以下结果:

{
  MY_DOMAIN:'http://mypage/"$INSTANCE"'
}

因此,不能使用环境变量INSTANCE,该值将被忽略。有什么办法可以解决我的问题吗?

【问题讨论】:

标签: javascript environment-variables dotenv


【解决方案1】:

我找到了使用dotenv-expand 的解决方案:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-22
    • 2020-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多