Гнездо JS - не удается разрешить ConfigService - PullRequest
0 голосов
/ 17 февраля 2020

Я использую паспорт Nest JS jwt для аутентификации пользователя. Я следую за do c, вот мой модуль приложения:

import { Module } from '@nestjs/common';
import { UserModule } from './user/user.module';
import { TypeOrmModule } from '@nestjs/typeorm';
import { AuthModule } from './auth/auth.module';
import { ConfigModule } from '@nestjs/config';
import configuration from '../config/configuration';

@Module({
  imports: [
      ConfigModule.forRoot({
          load: [configuration],
      }),
      TypeOrmModule.forRoot(),
      UserModule,
      AuthModule,
  ],
})
export class AppModule {}

А вот мой модуль аутентификации:

import { Module } from '@nestjs/common';
import { AuthService } from './auth.service';
import { PassportModule } from '@nestjs/passport';
import { UserModule } from '../user/user.module';
import { LocalStrategy } from './local.strategy';
import { JwtStrategy } from './jwt.strategy';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { JwtModule } from '@nestjs/jwt';
import { AuthController } from './auth.controller';

@Module({
    imports: [
        UserModule,
        PassportModule,
        JwtModule.registerAsync({
            imports: [ConfigModule],
            useFactory: async (configService: ConfigService) => ({
                secret:  configService.get('jwt.secret'),
                signOptions: {
                    expiresIn: configService.get('jwt.expiresIn'),
                },
            }),
            inject: [ConfigService],
        }),
    ],
    providers: [AuthService, LocalStrategy, JwtStrategy],
    exports: [AuthService],
    controllers: [AuthController],
})
export class AuthModule {}

Каждый раз, когда я запускаю npm run start, я получаю это сообщение об ошибке:

Nest can't resolve dependencies of the JWT_MODULE_OPTIONS (?). Please make sure that the argument ConfigService at index [0] is available in the JwtModule context.

Я искал эту проблему, но все еще не могу ее исправить. Кто-то может мне помочь? Спасибо.

Ответы [ 2 ]

0 голосов
/ 18 февраля 2020

Один из вариантов, как упоминалось другими, - сделать глобальный ConfigModule с настройкой isGlobal: true. В противном случае в @nestjs/config@0.2.3 это должно быть исправлено и теперь должно работать так, как показывают документы.

0 голосов
/ 18 февраля 2020

Я боролся с этой же проблемой в течение нескольких часов, но, по словам Чау Чана, после того, как ConfigModule стал глобальным с ConfigModule.forRoot({ isGlobal: true }), все мои проблемы исчезли. ?

...