3)
Файл: " config.js "
Использование: " config.key "
Вид: " export default {key: 'value'} "
Особенности: Не требует модулей, еще более гибкий, малословен в применении
Лично мне, пока-что, импонирует последний вариант, т.к. не требует лишних зависимостей, и инного языкового контекста (js-js, вместо: js-json или js-raw), но меня интересуют прочие потенциальные нюансы в других вариантах, какие они, если есть?
1. Тип значения всегда строка. К другим типам надо приводить явно
2. В json нет комментариев, а иногда хочется
3. Надо Сдерживаться и не скатиться в программирование в конфиге
1) основная особенность - то что при правильной работе, параметры берутся не только из этого файла но и из реальных переменных окружения. Это позволяет иметь разные настройки в разной среде (локально одни, на продуктовом сервере другие, у Васи - третьи). Плюс разные вещи типа паролей и ключей не хранятся в исходном коде, а хранятся там где этот код будет выполняться.
2) Формат понимаемый всеми. Удобен если ваши конфиги обрабатываются или генерятся где-то еще кроме ноды
3) удобен тем что можно запихать туда какую-то логику.
берите 3+1
все что может зависеть от среды выполнения - в .env, все остальное - в js - конфиг где вы все это читаете и собираете в кучу
Как понимаю, в .env-е лучше хранить: порт сервака, токены(пр идентификаторы), логины и пароли (от бд и пр), пути до файлов/каталогов, соли для шифрования? Что будет лишним и что бы добавить?