我正在尝试使用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
手动注入时,注入成功。@Inject
AuthService
constructor(@Inject('AuthService') private authService: AuthService) {
super({ /*...*/ });
console.log(this.authService) // AuthService is injected
}
为什么服务没有注入护照策略?