DOTENV无法正确读取变量

时间:2018-11-22 06:15:25

标签: javascript node.js environment-variables pg-promise laravel-dotenv

这是我的文件

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}"

我在做什么错了?

1 个答案:

答案 0 :(得分:1)

如果要扩展.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