ホームページ  >  に質問  >  本文

AppModule にインポートせずに、別のモジュールから直接 nestjs モジュールをインポートします

<p>NestJs は初めてで、<code>example .module</code> というモジュールを作成し、<code>DB.Module</code> という別のモジュールをインポートしていますが、 <code>DB.Module</code> を <code>App.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 エラー [ExceptionHandler] Nest は DbexampleService (?、MysqlService) の依存関係を解決できません。インデックス [0] の引数 MongoService が AppModule コンテキストで使用可能であることを確認してください。 考えられる解決策: - 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;">import { モジュール } from '@nestjs/common'; import { DbexampleService } から './services/dbexample/dbexample.service'; import { HttpExampleService } から './services/http-example/http-example.service'; import { MongoService } から 'src/global/dbModule/services/mongo.service'; import { MysqlService } から 'src/global/dbModule/services/mysql.service'; import { DBModule } から '../global/dbModule/db.module'; @モジュール({ インポート: [ DBModule ]、 プロバイダー:[DbexampleService、HttpExampleService、MongoService、MysqlService] }) エクスポート クラス ExamplesModule {}</pre> <p><strong>文書:<code>DB.module.ts</code></strong></p> <pre class="brush:php;toolbar:false;">import { モジュール } from '@nestjs/common'; import { MongoService } から './services/mongo.service'; import { DBController } から './controllers/db.controller'; import { MysqlService } から './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;">import { モジュール } from '@nestjs/common'; import { AppController } から './app.controller'; './app.service' から { AppService } をインポートします。 import { ConfigModule, ConfigService } から '@nestjs/config'; import { 構成 } から '../config/configuration'; import { DbexampleService } から './examples/services/dbexample/dbexample.service'; import { DbexampleController } から './examples/controllers/dbexample/dbexample.controller'; @モジュール({ 輸入品: [ ConfigModule.forRoot({ isGlobal: true、 ロード: [構成] }) ]、 コントローラー: [AppController、DbexampleController]、 プロバイダー: [ アプリサービス、 DbexampleService ]、 }) エクスポート クラス AppModule {}</pre> <p>问問題:<code>App.module</code> 内のすべてのモジュールを入力する必要があるかどうか?その場合、この問題はどのように解決されますか?</p>
P粉615886660P粉615886660387日前320

全員に返信(1)返信します

  • P粉916760429

    P粉9167604292023-09-06 10:07:03

    example.module.tsDBModule をエクスポートし、AppModuleExamplesModule をインポートしてみてください。

    返事
    0
  • キャンセル返事