如何解决Nest 无法解析全局模块中服务的依赖关系
我有一个名为 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。