Importieren Sie das NestJS-Modul direkt aus einem anderen Modul, ohne es in AppModule zu importieren
P粉615886660
2023-09-05 20:55:36
<p>Ich bin neu bei NestJs und erstelle ein Modul namens <code>example</code> und importiere ein anderes Modul namens <code>DB.Module</code> t <code>DB.Module</code> in <code>App.Module</code> importieren.是否必须导入 <code>App.Module</code></p> 中的所有模块
<pre class="brush:php;toolbar:false;">[Nest] 45706 – 19.07.2023, 19:47:55 Uhr LOG [NestFactory] Nest-Anwendung wird gestartet...
[Nest] 45706 – 19.07.2023, 19:47:55 Uhr FEHLER [ExceptionHandler] Nest kann Abhängigkeiten des DbexampleService (?, MysqlService) nicht auflösen. Bitte stellen Sie sicher, dass das Argument MongoService am Index [0] im AppModule-Kontext verfügbar ist.
Potentielle Lösungen:
- Ist AppModule ein gültiges NestJS-Modul?
– Wenn MongoService ein Anbieter ist, ist er Teil des aktuellen AppModule?
– Wenn MongoService aus einem separaten @Module exportiert wird, wird dieses Modul dann in AppModule importiert?
@Modul({
imports: [ /* das Modul, das MongoService enthält */ ]
})</pre>
<p><strong>文件:<code>example.module.ts</code></strong></p>
<pre class="brush:php;toolbar:false;">import { Module } from '@nestjs/common';
import { DbexampleService } aus './services/dbexample/dbexample.service';
import { HttpExampleService } from './services/http-example/http-example.service';
import { MongoService } aus 'src/global/dbModule/services/mongo.service';
import { MysqlService } aus 'src/global/dbModule/services/mysql.service';
import { DBModule } from '../global/dbModule/db.module';
@Modul({
Importe: [ DBModule],
Anbieter:[DbexampleService, HttpExampleService, MongoService, MysqlService]
})
Exportklasse ExamplesModule {}</pre>
<p><strong>文件:<code>DB.module.ts</code></strong></p>
<pre class="brush:php;toolbar:false;">import { Module } from '@nestjs/common';
import { MongoService } aus './services/mongo.service';
import { DBController } aus './controllers/db.controller';
import { MysqlService } from './services/mysql.service';
@Modul({
Controller: [DBController],
Anbieter: [MongoService, MysqlService],
exporte:[MongoService, MysqlService]
})
Exportklasse DBModule {}</pre>
<p><strong>文件:<code>App.module.ts</code></strong></p>
<pre class="brush:php;toolbar:false;">import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } aus './app.service';
import { ConfigModule, ConfigService } from '@nestjs/config';
{Konfiguration} aus '../config/configuration' importieren;
import { DbexampleService } aus './examples/services/dbexample/dbexample.service';
import { DbexampleController } from './examples/controllers/dbexample/dbexample.controller';
@Modul({
Importe: [
ConfigModule.forRoot({
isGlobal: wahr,
laden: [Konfiguration]
})
],
Controller: [AppController, DbexampleController],
Anbieter: [
AppService,
DbeexampleService
],
})
Exportklasse AppModule {}</pre>
<p>Frage: Muss ich alle Module in <code>App.module</code> importieren? Wenn nein, wie kann dieser Fehler behoben werden? </p>
尝试在
example.module.ts
中导出DBModule
并在AppModule
中导入ExamplesModule
。