AppModule로 가져오지 않고 다른 모듈에서 직접 Nestjs 모듈 가져오기
<p>저는 NestJ를 처음 사용하고 <code>example .module</code>라는 모듈을 만들고 <code>DB.Module</code> <code>App.Module</code>에서 <code>DB.Module</code>을 가져오지 마세요.是否必须导入 <code>App.Module</code></p> 中的所有模块
<pre class="brush:php;toolbar:false;">[Nest] 45706 - 07/19/2023, 7:47:55 PM LOG [NestFactory] Nest 애플리케이션을 시작하는 중...
[Nest] 45706 - 07/19/2023, 7:47:55 PM ERROR [ExceptionHandler] Nest는 DbexampleService(?, MysqlService)의 종속성을 확인할 수 없습니다. AppModule 컨텍스트에서 인덱스 [0]의 MongoService 인수를 사용할 수 있는지 확인하세요.
잠재적인 솔루션:
- AppModule은 유효한 NestJS 모듈입니까?
- MongoService가 공급자인 경우 현재 AppModule의 일부입니까?
- MongoService를 별도의 @Module에서 내보내는 경우 해당 모듈을 AppModule 내에서 가져오나요?
@기준 치수({
imports: [ /* MongoService를 포함하는 모듈 */ ]
})</pre>
<p><strong>文件:<code>example.module.ts</code></strong></p>
<pre class="brush:php;toolbar:false;">'@nestjs/common'에서 { 모듈 } 가져오기;
import { DbexampleService } from './services/dbexample/dbexample.service';
import { HttpExampleService } from './services/http-example/http-example.service';
'src/global/dbModule/services/mongo.service'에서 { MongoService }를 가져옵니다.
import { MysqlService } from 'src/global/dbModule/services/mysql.service';
import { DBModule } from '../global/dbModule/db.module';
@기준 치수({
수입: [DBModule],
공급자:[DbexampleService, HttpExampleService, MongoService, MysqlService]
})
내보내기 클래스 예제 모듈 {}</pre>
<p><strong>文件:<code>DB.module.ts</code></strong></p>
<pre class="brush:php;toolbar:false;">'@nestjs/common'에서 { 모듈 } 가져오기;
import { MongoService } from './services/mongo.service';
import { DBController } from './controllers/db.controller';
import { MysqlService } from './services/mysql.service';
@기준 치수({
컨트롤러: [DBController],
공급자: [MongoService, MysqlService],
내보내기:[MongoService, MysqlService]
})
내보내기 클래스 DBModule {}</pre>
<p><strong>文件:<code>App.module.ts</code></strong></p>
<pre class="brush:php;toolbar:false;">'@nestjs/common'에서 { 모듈 } 가져오기;
import { AppController } from './app.controller';
import { AppService } from './app.service';
'@nestjs/config'에서 { ConfigModule, ConfigService }를 가져옵니다.
'../config/configuration'에서 { 구성 }을 가져옵니다.
import { DbexampleService } from './examples/services/dbexample/dbexample.service';
import { DbexampleController } from './examples/controllers/dbexample/dbexample.controller';
@기준 치수({
수입: [
ConfigModule.forRoot({
isGlobal: 사실,
로드: [구성]
})
],
컨트롤러: [AppController, DbexampleController],
제공업체: [
앱서비스,
DbeexampleService
],
})
내보내기 클래스 AppModule {}</pre>
<p>질문: <code>App.module</code>의 모든 모듈을 가져와야 합니까? 그렇지 않은 경우 이 오류를 해결하는 방법은 무엇입니까? </p>