【发布时间】:2021-10-23 00:11:42
【问题描述】:
我正在尝试将 servicerequestservice 添加到 ordersservice 中
我不断收到此错误。 est 无法解析 ServiceRequestsService 的依赖关系(ServiceRequestRepository、[object Object]、CounterService、?、+)。请确保索引 [3] 处的参数依赖项在 ServiceRequestsModule 上下文中可用。
我尝试像文档一样转发彼此的依赖关系,但这似乎也没有帮助。
服务请求.module.ts
import { ServiceRequestsService } from './service-requests.service';
import { ServiceRequestsController } from './service-requests.controller';
import { TypeOrmModule } from '@nestjs/typeorm';
import { ServiceRequest } from './entities/service-request.entity';
import { OrdersModule } from 'src/orders/orders.module';
import { ProductsModule } from 'src/products/products.module';
import { OrderItemsModule } from 'src/order-items/order-items.module';
@Module({
imports: [TypeOrmModule.forFeature([ServiceRequest]), forwardRef(() => OrdersModule), ProductsModule, OrderItemsModule,],
controllers: [ServiceRequestsController],
providers: [ServiceRequestsService]
})
export class ServiceRequestsModule {}
orders.module.ts
import { forwardRef, Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { OrdersService } from './orders.service';
import { OrdersController } from './orders.controller';
import { Order } from './order.entity';
import { OrderItemsModule } from 'src/order-items/order-items.module';
import { ProductsModule } from 'src/products/products.module';
import { CommentsModule } from 'src/comments/comment.module';
import { RetailersModule } from 'src/retailers/retailers.module';
import { PurchasesModule } from 'src/purchases/purchases.module';
import { DeliveriesModule } from 'src/deliveries/deliveries.module';
import { ServiceRequestsModule } from 'src/service-requests/service-requests.module';
@Module({
imports: [TypeOrmModule.forFeature([Order]), forwardRef(() => OrderItemsModule), forwardRef(() => ServiceRequestsModule), ProductsModule, CommentsModule, RetailersModule, PurchasesModule, DeliveriesModule],
providers: [OrdersService],
controllers: [OrdersController],
exports: [OrdersService]
})
export class OrdersModule {}
服务请求.service.ts
import { InjectRepository } from '@nestjs/typeorm';
import { CounterService } from 'src/counter/counter.service';
import { OrderItemsService } from 'src/order-items/order-items.service';
import { Order } from 'src/orders/order.entity';
import { OrdersService } from 'src/orders/orders.service';
import { Product } from 'src/products/product.entity';
import { ProductsService } from 'src/products/products.service';
import { PurchasesService } from 'src/purchases/purchases.service';
import { Repository } from 'typeorm';
import { CreateServiceRequestDto } from './dto/create-service-request.dto';
import { UpdateServiceRequestDto } from './dto/update-service-request.dto';
import { ServiceRequest } from './entities/service-request.entity';
import {format} from "date-fns";
@Injectable()
export class ServiceRequestsService {
constructor(
@InjectRepository(ServiceRequest)
private repo: Repository<ServiceRequest>,
@Inject(forwardRef(() => OrdersService))
private readonly orders: OrdersService,
private readonly counter: CounterService,
private readonly purchases: PurchasesService,
private readonly orderItems: OrderItemsService,
) {}
order.service.ts
import { forwardRef, Inject, Injectable, NotFoundException } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { FindConditions, getMongoRepository, MongoRepository, Repository } from 'typeorm';
import { Order } from './order.entity';
import { isValidObjectId } from 'mongoose';
import { OrderItemsService } from 'src/order-items/order-items.service';
import { DeliveriesService } from 'src/deliveries/deliveries.service';
import { CounterService } from 'src/counter/counter.service';
import { ObjectId } from 'mongodb';
import {format, parseISO, toDate} from 'date-fns';
import { formatAddress } from 'src/addresses/address.entity';
import { PurchasesService } from 'src/purchases/purchases.service';
import { ActivitiesService } from 'src/activities/activities.service';
import { CommentsService } from 'src/comments/comment.service';
import { ServiceRequestsService } from 'src/service-requests/service-requests.service';
// let lastSku = 0;
@Injectable()
export class OrdersService {
constructor(
@InjectRepository(Order)
private repository: Repository<Order>,
@InjectRepository(Order)
private mongoRepository: MongoRepository<Order>,
@Inject(forwardRef(() => OrderItemsService))
private readonly orderItems: OrderItemsService,
@Inject(forwardRef(() => PurchasesService))
private readonly purchases: PurchasesService,
private readonly deliveries: DeliveriesService,
private readonly counter: CounterService,
@Inject(forwardRef(() => ServiceRequestsService))
private readonly service_request: ServiceRequestsService,
private readonly comments: CommentsService,
private readonly activities: ActivitiesService,
) {
}
purchases.module.ts
import { forwardRef, Global, Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { PurchasesService } from './purchases.service';
import { PurchasesController } from './purchases.controller';
import { Purchase } from './purchase.entity';
import { OrderItemsModule } from 'src/order-items/order-items.module';
import { ForecastModule } from 'src/forecast/forecast.module';
import { ProductsModule } from '../products/products.module';
@Global()
@Module({
imports: [TypeOrmModule.forFeature([Purchase]), forwardRef(() => OrderItemsModule), ForecastModule, ProductsModule],
providers: [PurchasesService],
controllers: [PurchasesController],
exports: [PurchasesService]
})
export class PurchasesModule {}
Purchases.service.ts
import { BadRequestException, forwardRef, Inject, Injectable, NotFoundException } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { getMongoRepository, IsNull, MongoRepository, Not, Repository } from 'typeorm';
import { Purchase, PurchaseItem } from './purchase.entity';
import { isValidObjectId } from 'mongoose';
import { OrderItem } from 'src/order-items/order-item.entity';
import { OrderItemsService } from 'src/order-items/order-items.service';
import { ForecastService } from 'src/forecast/forecast.service';
import { getDate, getWeek, toDate , format} from 'date-fns';
import {CounterService} from "../counter/counter.service";
import { ProductsService } from 'src/products/products.service';
//import { ProductsService } from '../products/products.service';
@Injectable()
export class PurchasesService {
constructor(
@InjectRepository(Purchase)
private repository: Repository<Purchase>,
private orderItems: OrderItemsService,
//private productsService: ProductsService,
private forecast: ForecastService,
private readonly counter: CounterService,
private readonly products: ProductsService,
) {}```
【问题讨论】:
-
ProductsModule是否导出PurchasesService? -
我将它添加到文件中
-
我如何像这样导入它? @Module({ 进口:[TypeOrmModule.forFeature([Product]),RetailersModule],供应商:[ProductsService],控制器:[ProductsController],出口:[ProductsService,PurchaseService] }) 出口类 ProductsModule {}
标签: node.js typescript nestjs