Файл конфигурации Node.js против практики архитектуры .env и шаблона построения - PullRequest
0 голосов
/ 06 мая 2019

Я занимаюсь разработкой серверного приложения на Node.js и думаю об использовании файла config. Но когда я гуглю это .. ну пока у меня больше вопросов, чем ответов.

В моем случае у меня много функций с аргументами разных типов sensitivity не только secret, tokens, keys. Большая часть этого аргумент как пользовательский. Например, пользователь, запускающий приложение, использует для определить (через CLI [быстро]): количество дней, сколько раз что-то будет выполнять, когда и где и т. д.

Например, я просто проверяю этот вопрос и эту статью . И мой вопрос прост:

Какой использовать и почему? (или где я могу узнать больше об этом) Используя только файл .env, или только config.json или, возможно, оба, как в статье выше? OK - сохранить все настройки в package.json или нет? (как в этом вопросе )

Я был бы очень рад, если бы более опытные разработчики JS сказали мне, что я должен использовать и почему.

Даже если этот вопрос помечен как answered, не стесняйтесь рассказать мне (и всем на SO) о вашем опыте с такой проблемой. Но, пожалуйста, помните, что я спрашиваю не о *How to do it* или об DotEnv использовании (или любом другом модуле npm). Это все о шаблонах и практиках.

1 Ответ

1 голос
/ 06 мая 2019

Можно ли сохранить все настройки в package.json или нет?

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

.env файл или config.json?

Это действительно зависит от вас. Однако файл .env, похоже, не поддерживает вложенные данные, которые, на мой взгляд, действительно полезны для конфигурации. Я всегда использовал config jsons, и до сих пор это работало довольно хорошо.

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

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

Большинство значений зависят от пользователя

Затем сохраните их в файле конфигурации или используйте базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...