#javascript #node.js #configuration #environment-variables #config
Вопрос:
Я использую модуль «конфигурация» в своем node.js приложение, и мне было интересно, как реализовать переменные среды для разных сред (dev/prod) на основе NODE_ENV.
Допустим, я устанавливаю NODE_ENV в рабочее состояние. У меня есть папка «конфигурация» с 4 файлами JSON: пользовательские переменные среды.json, производство.json, разработка.json и по умолчанию.json.
производство.json:
{
"name":"Cost Manager Application - Production",
"db":"prod_db_key"
}
разработка.json:
{
"name":"Cost Manager Application - Development",
"db":"dev_db_key"
}
по умолчанию.json:
{
"name":"Cost Manager Application",
"appPrivateKey":"",
"db": "mongodb://localhost:27017"
}
Теперь я хочу сохранить как строки базы данных prod, так и строки базы данных dev в переменных env с именами prod_db_key и dev_db_key, и я знаю, что для этого предназначены пользовательские переменные среды.json. Однако я не хочу называть эти ключи по-другому в файле custom-environment-variables.json, потому что я хочу иметь возможность использовать «db» из index.js:
console.log(config.get('db'));
А затем на основе результатов
config.util.getEnv('NODE_ENV'));
Используйте правильную переменную окружения (prod_db_key/dev_db_key) в разделе «бд».
Дело в том, что я не хочу явно запрашивать prod_db_key или dev_db_key у index.js в этом-то все и дело. В противном случае я бы просто настроил две пары ключей и значений в файле custom-environment-variables.json. Имеет ли это смысл?
Заранее спасибо…