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 ответ
Решение
Вы можете использовать такой пакет, как dotenv-expand, если хотите расширять переменные в файлах.evn.
После установки (с помощью 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