Nest 无法解析 RabbitMQService 服务的依赖关系

Posted

技术标签:

【中文标题】Nest 无法解析 RabbitMQService 服务的依赖关系【英文标题】:Nest can't resolve dependencies of RabbitMQService service 【发布时间】:2021-04-20 17:11:39 【问题描述】:

我正在构建一个 Nestjs 应用程序,我想在其中创建一个 rabbitmq

@Module(
imports: [
    ClientsModule.register([
        
            name: 'rabbitmq',
            transport: Transport.RMQ,
            options: 
                urls: [
                    'amqp://guest:guest@rabbitmq',
                ],
                queue: 'my_queue',
            ,
        ,
    ]),
],
controllers: [],
providers: [RabbitMQService],
exports: [RabbitMQService],

)

和服务:

@Injectable()

导出类 RabbitMQService 构造函数( @Inject('rabbitmq') 私人客户端:ClientProxy )

我得到的错误是:Nest 无法解析 RabbitMQService (?) 的依赖项。请确保索引 [0] 处的参数 rabbitmq 在 RabbitMQService 上下文中可用。 据我所知,这应该可以,但是不行。有人可以帮忙吗?

【问题讨论】:

可以分享ClientsModule的代码吗? 【参考方案1】:

从错误来看,您的应用程序中的某个地方似乎有 RabbitMQServiceimports 数组中 @Module() 类应该去的地方。确保将providers 和其他@Injectables() 保留到providers 数组,并将@Module() 和其他DynamicModules 保留到imports 数组。 Common error docs

【讨论】:

以上是关于Nest 无法解析 RabbitMQService 服务的依赖关系的主要内容,如果未能解决你的问题,请参考以下文章

Nest.js 在单元测试中无法解析 Mongoose 模型依赖

Nest 无法解析 UserModel 的依赖项(?)

Nest 无法解析存储库的依赖关系

Nest 无法解析 UsersService (UserModel, ?) 的依赖关系

Nest 无法解析 JwtService (?) [JWT_MODULE_OPTIONS] 的依赖项

Nest 在测试期间无法解析 UserService 的依赖关系