Переменные Env: используя пользовательские переменные среды.json, как правильно определить секреты приложений

#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. Имеет ли это смысл?

Заранее спасибо…