Оба подхода могут использоваться одновременно. По сути, ConfigModule
- это не более чем простая абстракция переменных вашей среды. Вы все еще можете следовать «нормальному режиму узла», но инкапсулировать эти специфичные для env значения в своем модуле. Как правило, это упрощает тестирование, потому что у вас нет жестко закодированного process.env
, вместо этого вы используете незащищенный сервис, который дает вам сильные преимущества при наборе текста, а также возможность легко издеваться над методами вашего класса.
Предположим, нет ничего плохого в следующей структуре:
|- config/index.ts
|- config/config.base.ts
|- config/config.dev.ts
|- config/config.prod.ts
Все сводится к тому, как вы хотите получить доступ к этим значениям.