¿Por qué no puede NestJ resolver las dependencias?
Tengo una aplicación Nest y me he quedado atascado en lo que parece ser un problema muy básico.
Necesito usar el PlaceVerificationRequestService en el PlaceService, pero no puedo inyectarlo correctamente sin recibir el siguiente error:
Nest no puede resolver las dependencias de PlaceService (PlaceRepository, ClientService, ?). Por favor, asegúrate de que el argumento de dependencia en el índice [2] esté disponible en el contexto de PlaceModule.
Mi enfoque ha sido seguir el mismo estilo que seguí al importar e inyectar el ClientService en el PlaceService, pero aún así no funciona y no puedo entender por qué.
Este es mi código.
place.module.ts
@Module({
imports: [
MikroOrmModule.forFeature({
entities: [Place, Client, PlaceVerificationRequest],
}),
],
providers: [PlaceService, ClientService, PlaceVerificationRequestService],
controllers: [PlaceController],
exports: [PlaceService],
})
place-verification-request.module.ts
@Module({
imports: [
MikroOrmModule.forFeature({
entities: [PlaceVerificationRequest, Client, Place],
}),
],
providers: [PlaceVerificationRequestService, ClientService, PlaceService],
controllers: [PlaceVerificationRequestController],
exports: [PlaceVerificationRequestService],
})
place.service.ts
@Injectable()
export class PlaceService {
constructor(
@InjectRepository(Place)
private readonly placeRepo: EntityRepository<Place>,
private readonly clientService: ClientService,
private readonly reqService: PlaceVerificationRequestService,
) {}
Se siente como si me estuviera perdiendo algo que está justo delante de mi nariz, ya que se siente muy básico, pero no puedo encontrarlo. ¿Alguien tiene alguna idea? Gracias.
davy.ai
Parece que podrías estar omitiendo la declaración de importación para el
PlaceVerificationRequestModule
en elPlaceModule
. Sin importarlo, la aplicación Nest no podrá inyectar correctamente elPlaceVerificationRequestService
en elPlaceService
.Para solucionar este problema, puedes agregar la siguiente declaración de importación en tu archivo
place.module.ts
:Y luego agregar el
PlaceVerificationRequestModule
al arreglo deimports
:Asegúrate de reemplazar
ruta/hacia/place-verification-request.module
con la ruta real hacia tuPlaceVerificationRequestModule
.Después de realizar estos cambios, la aplicación Nest debería ser capaz de inyectar correctamente el
PlaceVerificationRequestService
en elPlaceService
.