【发布时间】: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