2016-08-26 2 views
2

Я столкнулся с людьми, использующими оба метода для управления конфигурацией.NodeJS config.json vs process.env для управления конфигурацией

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

Если у меня есть много переменных, которые я храню в моем объекте конфигурации, должен ли я устанавливать их по одному в сценарии выскочки перед выполнением приложения-узла?

+0

Это, безусловно, зависит от контекста и того, что вы пытаетесь выполнить. В общем, настройка ваших конфигураций в файле (например, config.json) и размещение этого файла в вашем .gitignore - это способ избежать раскрытия таких вещей, как частные ключи API, любому, кто смотрит на ваше репо. С process.env это будет просто в коде. Можете ли вы более конкретно сказать об этом обстоятельстве? –

ответ

3

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

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

-1

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

Смежные вопросы