NodeJS config.json против процесса.env для управления конфигурацией


Я встречал людей, использующих оба метода для управления конфигурациями.

Каковы плюсы и минусы каждого подхода?

Если у меня есть много переменных, которые я храню в своем объекте config, должен ли я установить их все по одному в скрипте upstart перед выполнением приложения node?

2 2

2 ответа:

Обычно envvar используется для сохранения приложения без состояния. Одна и та же кодовая база должна работать в среде разработки, постановки, тестирования и производства. Вы поставите var, как MySQL config, API ключи, если журнал включен или нет, если debug включен или нет ...

Конфигурационный файл используется для переменных, которые не зависят от среды. Например, название приложения, количество элементов на странице ...

Я думаю, что вы можете использовать файл config.json для хранения больших конфигураций. ENV я обычно использую для передачи порта приложения или чего-то очень важного для нормального запуска приложения. Например, если вы используете какой-то внешний lib, лучше иметь возможность передать пользовательский путь исполнителю lib в ENV. P.S. Вы никогда не должны сохранять config.json в SVN.