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

Другие вопросы по тегам