首页 > 解决方案 > NestJS 无法解析 gRPC 微服务客户端

问题描述

我是 NestJS 中足够有经验的用户,并且多次使用 DI,所以我的问题对我来说看起来有点奇怪。所以,我有模块代码:

export const MEASUREMENTS_COLLECTOR_GRPC_CLIENT = 'MEASUREMENTS_COLLECTOR';

@Module({
    imports: [
        ConfigModule,
        forwardRef(() => AuthModule),
        TypeOrmModule.forFeature([]),
        ClientsModule.register([
            {
                name: MEASUREMENTS_COLLECTOR_GRPC_CLIENT,
                transport: Transport.GRPC,
                options: {
                    url: 'localhost:9090',
                    package: 'measurements.presenter',
                    protoPath: path.join(__dirname, 'proto/measurements-presenter.proto'),
                },
            },
        ]),
    ],
    exports: [],
    controllers: [],
    providers: [
        SensorMeasurementsResolvers,
        {
            provide: 'PUB_SUB',
            useValue: new PubSub(),
        },
    ],
})
export class SensorMeasurementsModule {}

和我的提供者:

@Resolver()
export class SensorMeasurementsResolvers implements OnModuleInit {
    private readonly logger = new Logger(SensorMeasurementsResolvers.name);
    private measurementCollectorService: MeasurementsServiceClient;

    constructor(@Inject(MEASUREMENTS_COLLECTOR_GRPC_CLIENT) private grpcClient: ClientGrpc) {

    }
}

当我尝试启动此代码时,出现以下异常:

Nest 无法解析 SensorMeasurementsResolvers (?) 的依赖关系。请确保索引 [0] 处的参数依赖项在 SensorMeasurementsModul e 上下文中可用。

这对我来说很奇怪。请帮助,如果您了解问题所在。

标签: nestjs

解决方案


推荐阅读