какой способ установить конфиг для nesjt лучше, ConfigModule или нормальная конфиг модель - PullRequest
0 голосов
/ 02 сентября 2018

На сайте есть совет по настройке конфигурации для nestjs (https://docs.nestjs.com/techniques/configuration).
Он использует модуль nestjs и должен импортироваться каждый модуль, который вы используете. как

@Module({
    imports: [ConfigModule],
    ...
})

Но я предпочитаю устанавливать конфигурацию, используя обычную модель узла, как показано ниже:
- config
| - config / index.ts
| - config / config.base.ts
| - config / config.dev.ts
| - config / config.prod.ts
Я думаю, что второй способ более простой и интуитивно понятный. Какой из них, по вашему мнению, лучше?

Ответы [ 2 ]

0 голосов
/ 02 сентября 2018

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

Предположим, нет ничего плохого в следующей структуре:

|- config/index.ts
|- config/config.base.ts
|- config/config.dev.ts
|- config/config.prod.ts

Все сводится к тому, как вы хотите получить доступ к этим значениям.

0 голосов
/ 02 сентября 2018

Я предпочитаю использовать переменные окружения (который работает с пакетом dotenv, описанным в документации) - он лучше всего работает, когда приложение развернуто как контейнер Docker.

Любая конфигурация, включая учетные данные, не должна публиковаться в вашем GIT-хранилище (особенно учетные данные prod).

...