簡體   English   中英

Nest 無法解析 JobsService (?) 的依賴關系。 請確保索引 [0] 處的參數 JobModel 在 AppModule 上下文中可用

[英]Nest can't resolve dependencies of the JobsService (?). Please make sure that the argument JobModel at index [0] is available in the AppModule context

我真的很困惑,我得到了這個奇怪的錯誤,我不知道。

錯誤:Nest 無法解析 JobsService (?) 的依賴關系。 請確保索引 [0] 處的參數 JobModel 在 AppModule 上下文中可用。

app.module.ts

import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { MongooseModule } from '@nestjs/mongoose';
import { JobsModule } from './jobs/jobs.module';
import { JobsService } from './jobs/jobs.service';
import { JobsController } from './jobs/jobs.controller';
import config from './config/config';

@Module({
  imports: [JobsModule, MongooseModule.forRoot(config.mongoURI, {
      useFindAndModify: false,
  })],
  controllers: [AppController, JobsController],
  providers: [AppService, JobsService], 
})
export class AppModule {}

/jobs/jobs.module.ts

import { Module } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';
import { JobsService } from './jobs.service';
import { JobsController } from './jobs.controller';
import { JobsSchema } from './schemas/jobs.schema';

@Module({
  imports: [MongooseModule.forFeature([{ name: 'Job', schema: JobsSchema }])],
  controllers: [JobsController],
  providers: [JobsService],
})
export class JobsModule {}

/job/job.controller.ts

import { Controller, Get, Post, Put, Delete, Body, Param } from '@nestjs/common';
import { JobsService } from './jobs.service';
import { IJobs } from './interfaces/jobs.interface';

@Controller('jobs')
export class JobsController {
    constructor(private readonly jobsService: JobsService){}
    
    @Get()
    findAll():Promise<IJobs[]> {
        return this.jobsService.findAll();
    }
}

/job/jobs.service.ts

import { Injectable } from '@nestjs/common';
import { InjectModel } from '@nestjs/mongoose';
import { Model } from 'mongoose';
import { IJobSchema } from './schemas/jobs.schema';
import { IJobs } from './interfaces/jobs.interface';

@Injectable()
export class JobsService {
    constructor(@InjectModel('Job') private readonly JobsModel: Model<IJobSchema>){}
    
    async findAll():Promise<IJobs[]> {
        return await this.JobsModel.find();
    }
}

您已經在 JobModule 中聲明了 JobsService,請將其從 Appmodule 提供程序中刪除

 import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { MongooseModule } from '@nestjs/mongoose';
import { JobsModule } from './jobs/jobs.module';
import { JobsService } from './jobs/jobs.service';
import { JobsController } from './jobs/jobs.controller';
import config from './config/config';

@Module({
  imports: [JobsModule, MongooseModule.forRoot(config.mongoURI, {
      useFindAndModify: false,
  })],
  controllers: [AppController, JobsController],
  providers: [AppService], // Here..
})
export class AppModule {}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM