【问题标题】:Nest can't resolve service dependencies when it's about a different service from a different brother当涉及来自不同兄弟的不同服务时,Nest 无法解决服务依赖关系
【发布时间】:2020-11-16 00:53:14
【问题描述】:

我是 NestJS 的新手,当我尝试从 AppModule 中声明的模块注入服务时遇到问题,同时将另一个服务声明到 AppModule 中的另一个模块中。

例如:


**app.module.ts**
  imports: [
    CoreModule,

    ProductsModule,
  ],
  controllers: [
    AppController,
  ],
  providers: [
    AppService,
  ],
**core.module.ts**

 imports: [
  ],
  controllers: [
    BrandsController,
    CategoriesController,
    ReviewsController,
  ],
  providers: [
    BrandsService,
    CategoriesService,
    ReviewsService,
  ],
  exports: [
    ReviewsService,
  ]

由于我需要 core.module.ts 中的控制器,我不得不将其注入 app.modules.ts。

同时,我需要这个模块中的一些服务和控制器,将它们注入到 products.module.ts 中。

**products.module.ts**

imports: [
  ...
  ],
  providers: [
    ProductsService,
  ],
  controllers: [
    ProductsController,
  ]

现在我的问题是:

Nest 无法解析 ProductsService (?, ReviewsService) 的依赖关系。请确保索引 [0] 处的参数 ProductModel 在 ProductModule 上下文中可用。

【问题讨论】:

  • 你能显示你的ProductService的构造函数吗?
  • 您提供的答案应该已添加到问题中,而不是作为答案。此外,这与您给出的错误不符。根据您的错误,您的 ProductsService 应该有两个依赖项,但这只有一个。你的ProductsModuleimports 数组中有MongooseModule.forFeature() 吗?

标签: nestjs


【解决方案1】:

这里是 products.service.ts 的构造函数:

constructor(
    @InjectModel('Product') 
    private readonly productModel: Model<IProductSchema>,
  ) { }```

I am using MongoDB and mongoose schema for collections.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-20
    • 2019-06-29
    • 1970-01-01
    • 1970-01-01
    • 2019-02-24
    • 2019-09-14
    相关资源
    最近更新 更多