问题描述
我有一个名为 FirebaseModule
的全局模块,它导出一个 FirebaseService
,我将此模块导入到 app.module.ts
,然后我尝试在 {{ 1}} 并且它因缺少依赖项问题而失败。
有趣的是,如果我删除服务上的用法并仅在控制器上使用它,什么都不会失败,但如果我想在服务提供者中使用它,它就会开始失败。
我的代码:
FirebaseService
UseRSService
app.module.ts
@Module({
imports: [
CustomLoggerModule,ConfigurationModule,TypeOrmModule.forRootAsync({
useExisting: ConfigurationService,}),FirebaseModule,UsersModule,],controllers: [AppController],providers: [AppService],})
export class AppModule {}
firebase.module.ts
@Global()
@Module({
imports: [],providers: [FirebaseService],exports: [FirebaseService],})
export class FirebaseModule {}
users.module.ts
@Module({
imports: [CqrsModule,TypeOrmModule.forFeature([UsersRepository])],controllers: [UsersController],providers: [UseRSService,...CommandHandlers,...EventHandlers],exports: [UseRSService,})
export class UsersModule {}
users.controller.ts
@Controller('users')
@UseGuards(AuthGuard('firebase'))
export class UsersController {
constructor(
private readonly useRSService: UseRSService,private readonly firebaseService: FirebaseService,) {}
}
我收到以下错误:
users.service.ts
解决方法
您的 UserService 中很可能有一个指向 FirebaseService 的循环文件引用。如果 Nest 能够解析类/提供者/注入令牌的名称,它会明确说明该令牌是什么,但是当它无法解析时,所有出来的都是 $("#stud_email").keyup(function () {
$.ajax({
data: $(this).serialize(),url: "/validate_stud_username/",success: function (response) {
if (response.is_taken == true) {
$("#stud_email").addClass("invalid");
} else {
$("#stud_email").addClass("valid");
}
},});
check_stud_email();
});
。 Here's a little more information from the docs