2

我正在尝试使用nestjs制作应用程序

到目前为止,依赖注入到控制器中运行良好。

但是当我将服务注入护照策略时,注入不起作用。

我想authService注入googleStrategy.

这是我的模块代码。

auth.modules.ts

@Module({
  imports: [
    UsersModules,
    PassportModule,
  ],
  controllers: [AuthController],
  providers: [AuthService, GoogleStrategy],
})
export class AuthModules {}

google.strategy.ts

@Injectable()
export class GoogleStrategy extends PassportStrategy(Strategy, 'google') {
  constructor(private authService: AuthService) {
    super({ /*...*/ });
    console.log(this.authService) //undefined
  }
}

在这种情况下,AuthService不注入。

当我使用装饰器AuthService手动注入时,注入成功。@InjectAuthService

constructor(@Inject('AuthService') private authService: AuthService) {
  super({ /*...*/ });
  console.log(this.authService) // AuthService is injected
}

为什么服务没有注入护照策略?

4

0 回答 0