这是我的文件:

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

关于javascript - DOTENV无法正确读取变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53424893/

10-10 05:16