DOTENV 没有正确读取变量

DOTENV not reading variables properly

这是我的文件:

postgresU="myuser"
postgresP="mypass"
postgresH="myhost"
postgresDB="mydb"
postgresC="postgres://${postgresU}:{$postgresP}@{$postgresH}:5432/${postgresDB}"

在我的 nodejs 应用中,

require('dotenv').config();
var connectionString = process.env.postgresC;
console.log("Connection String:",connectionString);

这会打印:

Connection String: "postgres://${postgresU}:${postgresP}@${postgresH}:5432/${postgresDB}"

我做错了什么?

如果你想在 .evn 文件中扩展变量,你可以使用像 dotenv-expand 这样的包。

安装后(使用 npm 或 yarn)您可以简单地使用 .env 文件:

postgresU="myuser"
postgresP="mypass"
postgresH="myhost"
postgresDB="mydb"
postgresC="postgres://${postgresU}:${postgresP}@${postgresH}:5432/${postgresDB}"

然后处理:

const dotenv= require('dotenv')
const dotenvExpand = require('dotenv-expand')
let myEnv = dotenv.config()
dotenvExpand(myEnv)

let connectionString = process.env.postgresC;
console.log(connectionString)

postgres://myuser:mypass@myhost:5432/mydb