繁体   English   中英

Nest 无法解析 X 的依赖关系,但它应该

[英]Nest can't resolve dependencies of X, but it should

我得到了以下模块/服务:

订单模块:

import { ConfigModule } from '@nestjs/config';
import { TypeOrmModule } from '@nestjs/typeorm';
import { BarModule } from 'src/bar/bar.module';
import { ProductModule } from 'src/product/product.module';
import { TapModule } from 'src/tap/tap.module';
import { Order } from './entities/order.entity';
import { OrderController } from './order.controller';
import { OrderService } from './order.service';

@Module({
  imports: [
    TypeOrmModule.forFeature([Order]),
    forwardRef(() => TapModule),
    ProductModule,
    BarModule,
    ConfigModule,
  ],
  controllers: [OrderController],
  providers: [OrderService],
  exports: [OrderService],
})
export class OrderModule {}

订单服务

export class OrderService {
  constructor(
    @InjectRepository(Order) private orderRepository: Repository<Order>,
    private readonly tapService: TapService,
  ) {}
}

TapModule

import { forwardRef, Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { Tap } from './entities/tap.entity';
import { BarModule } from 'src/bar/bar.module';
import { ConfigModule } from '@nestjs/config';
import { TapController } from './tap.controller';
import { TapService } from './tap.service';
import { OrderModule } from 'src/order/order.module';

@Module({
  imports: [
    TypeOrmModule.forFeature([Tap]),
    BarModule,
    forwardRef(() => OrderModule),
    ConfigModule,
  ],
  controllers: [TapController],
  providers: [TapService],
  exports: [TypeOrmModule, TapService],
})
export class TapModule {}

水龙头服务

@Injectable()
export class TapService {
  constructor(
    @InjectRepository(Tap) private tapRepository: Repository<Tap>,
    private readonly barService: BarService,
    private readonly customerService: CustomerService,
    private readonly orderService: OrderService,
    private readonly productService: ProductService,
  ) {}
}

虽然我认为我导入了所有我应该得到的错误:

Nest can't resolve dependencies of the OrderService (OrderRepository, ?). Please make sure that the argument dependency at index [1] is available in the OrderModule context.

Potential solutions:
- If dependency is a provider, is it part of the current OrderModule?
- If dependency is exported from a separate @Module, is that module imported within OrderModule?
  @Module({
    imports: [ /* the Module containing dependency */ ]
  })

我做了很多研究,但没有找到任何东西。 或者我发现的任何东西都是这样的。 我希望有人可以帮助我并找到错误。 提前致谢!

尝试更新您的服务:

export class OrderService {
 constructor(
    @InjectRepository(Order) private orderRepository: Repository<Order>,
    @Inject(forwardRef(() => TapService))
    private readonly tapService: TapService,
  ) {}
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM