5

我正在尝试使用.env节点应用程序和dotenvNPM 模块中的文件来读取它,但使用一些变量和插值。不过,在标准 bash 文件中起作用的东西似乎并未在 .env 配置文件中运行。例如,给定:

APP_NAME=tixy
MONGODB_URI="mongodb://127.0.0.1:27017/${APP_NAME}"

会直接在代码中出来

const mongoUri = process.env.MONGODB_URI

作为"mongodb://127.0.0.1:27017/${APP_NAME}"

有没有办法让.env配置运行?也许我可以在应用程序启动并export用于所有变量时“获取”它,但这似乎很笨拙......

4

1 回答 1

5

dotenv不会扩展环境变量,但您可以使用dotenv-expand除了dotenv来获得此行为:

var dotenv = require('dotenv')
var dotenvExpand = require('dotenv-expand')

var myEnv = dotenv.config()
dotenvExpand(myEnv)

// Should be OK now.
const mongoUri = process.env.MONGODB_URI
于 2019-06-30T07:24:43.133 回答