Node.js: насколько плохо использовать global object?

в Node.js есть глобальный объект global.
Хочется иметь какой нибудь bootstrap файл, который бы считывал конфиги, парсил параметры командной строки. Грубо говоря инициализировал целиком приложение.
в любом из используемых внутри файлов хочется иметь возможность обратится к конфигу. Один из вариантов решения — в bootstrap файле (например index.js) запихнуть в global какой нибудь объект, например
global.app = {
    config: {...},
    somethingElse: {...}
}

Тогда внутри любого другого файла (особенно при большой вложенности) можно будет обращаться к app.config без всяческих config = require('../../../../index.js').app.config;

Насколько этот подход плох? И есть ли альтернативные варианты решения, чтобы иметь минимум зависимостей от относительных путей
  • Вопрос задан
  • 5972 просмотра
Пригласить эксперта
Ответы на вопрос 2
@1nd1go
Я считаю, что это хорошая практика, если у вас ваш объет будет называться как приложение и т.п., чтобы если что, никто с ним не пересекся.
Ответ написан
unclechu
@unclechu
Если какой-то из модулей вашего приложения захочется пореюзить (вам или кому-то ещё, а модульное программирование это подразумевает), — тут могут появиться проблемы. Потому как нечто из вашего модуля будет пролезать в глобальную область всех модулей, которые подключены в рамках приложения, где так же подключен ваш модуль. Очень рискованный шаг по-моему.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы