在.env文件中使用插值

时间:2019-06-30 07:17:49

标签: node.js environment-variables config dotenv

我正在尝试使用节点应用程序中的.env文件和dotenv NPM模块来读取它,但是使用一些变量和插值。 在标准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,但这似乎很笨拙……

1 个答案:

答案 0 :(得分:1)

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

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