Importez le module nestjs directement depuis un autre module sans importer dans AppModule
P粉615886660
2023-09-05 20:55:36
<p>Je suis nouveau sur NestJs et je crée un module appelé <code>example .module</code> et j'importe un autre module appelé <code>DB.Module</code> t importer <code>DB.Module</code> dans <code>App.Module</code>.是否必须导入 <code>App.Module</code></p> 中的所有模块
<pre class="brush:php;toolbar:false;">[Nest] 45706 - 19/07/2023, 19:47:55 LOG [NestFactory] Démarrage de l'application Nest...
[Nest] 45706 - 19/07/2023, 19:47:55 ERREUR [ExceptionHandler] Nest ne peut pas résoudre les dépendances de DbexampleService (?, MysqlService). Veuillez vous assurer que l'argument MongoService à l'index [0] est disponible dans le contexte AppModule.
Solutions potentielles :
- AppModule est-il un module NestJS valide ?
- Si MongoService est un fournisseur, fait-il partie de l'AppModule actuel ?
- Si MongoService est exporté à partir d'un @Module distinct, ce module est-il importé dans AppModule ?
@Module({
importe : [ /* le module contenant MongoService */ ]
})</pré>
<p><strong>文件:<code>example.module.ts</code></strong></p>
<pre class="brush:php;toolbar:false;">importer { Module } depuis '@nestjs/common';
importer { DbexampleService } depuis './services/dbexample/dbexample.service' ;
importer { HttpExampleService } depuis './services/http-example/http-example.service' ;
importer { MongoService } depuis 'src/global/dbModule/services/mongo.service' ;
importer { MysqlService } depuis 'src/global/dbModule/services/mysql.service' ;
importer { DBModule } depuis '../global/dbModule/db.module' ;
@Module({
importations : [ DBModule],
fournisseurs : [DbexampleService, HttpExampleService, MongoService, MysqlService]
})
classe d'exportation ExemplesModule {}</pre>
<p><strong>文件:<code>DB.module.ts</code></strong></p>
<pre class="brush:php;toolbar:false;">importer { Module } depuis '@nestjs/common';
importer { MongoService } depuis './services/mongo.service' ;
importer { DBController } depuis './controllers/db.controller' ;
importer { MysqlService } depuis './services/mysql.service' ;
@Module({
contrôleurs : [DBController],
fournisseurs : [MongoService, MysqlService],
exporte :[MongoService, MysqlService]
})
classe d'exportation DBModule {}</pre>
<p><strong>文件:<code>App.module.ts</code></strong></p>
<pre class="brush:php;toolbar:false;">importer { Module } depuis '@nestjs/common';
importer { AppController } depuis './app.controller' ;
importer { AppService } depuis './app.service' ;
importer { ConfigModule, ConfigService } depuis '@nestjs/config' ;
importer { configuration } depuis '../config/configuration' ;
importer { DbexampleService } depuis './examples/services/dbexample/dbexample.service' ;
importer { DbexampleController } depuis './examples/controllers/dbexample/dbexample.controller' ;
@Module({
importations : [
ConfigModule.forRoot({
isGlobal : vrai,
charger : [configuration]
})
],
contrôleurs : [AppController, DbexampleController],
fournisseurs: [
AppService,
DbeexampleService
],
})
classe d'exportation AppModule {}</pre>
<p>Question : Dois-je importer tous les modules dans <code>App.module</code> ? Si non, comment résoudre cette erreur ? </p>
Essayez-le sur
example.module.ts
中导出DBModule
并在AppModule
中导入ExamplesModule
.