我正在尝试使用@nestjs/jwt。特别是它的registerAsync方法(我的配置服务异步加载配置)。我JwtModule在 中注册AuthModule,然后为每个登录/注册提供程序加载特定模块。然后我添加JwtService到提供者EmailService但失败了。
该应用程序的结构如下(非常示意性):
应用程序模块.ts
@Module({
imports: [
AuthModule,
...
]
})
export class ApplicationModule {}
Run Code Online (Sandbox Code Playgroud)
auth.module.ts
@Module({
imports: [
PassportModule.register({ defaultStrategy: 'jwt' }),
JwtModule.registerAsync({
useFactory: async (config: ConfigService) => ({
secretOrPrivateKey: config.get('jwt.secret')
}),
inject: [ConfigService]
}),
EmailAuthModule
],
exports: [JwtModule]
})
export class AuthModule {}
Run Code Online (Sandbox Code Playgroud)
电子邮件模块.ts
@Module({
imports: [...],
controllers: [...],
providers: [EmailService, ...]
})
export class EmailAuthModule {}
Run Code Online (Sandbox Code Playgroud)
电子邮件.service.ts
@Injectable()
export class EmailService {
constructor(
private readonly …Run Code Online (Sandbox Code Playgroud)