搜尋

首頁  >  問答  >  主體

直接從另一個模組導入nestjs模組,而不導入到AppModule

<p>我是NestJs 的新手,我正在創建一個名為<code>example .module</code> 的模組並導入另一個名為<code>DB.Module</code> 的模組,但是如果我沒有在<code>App.Module</code> 中導入<code>DB.Module</code>。是否必須匯入App.Module

中的所有模組
[Nest] 45706 - 07/19/2023, 7:47:55 PM 日誌 [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 中匯入?
  @模組({
    import: [ /* 包含 MongoService 的模組 */ ]
  })</pre>
<p><strong>檔案:<code>example.module.ts</code></strong></p>
從 '@nestjs/common' 導入 { Module };
從'./services/dbexample/dbexample.service'導入{DbexampleService};
從 './services/http-example/http-example.service' 導入 { HttpExampleService };
從 'src/global/dbModule/services/mongo.service' 導入 { MongoService };
從 'src/global/dbModule/services/mysql.service' 導入 { MysqlService };
從'../global/dbModule/db.module'導入{DBModule};

@模組({
    導入:[DBModule],
    提供者:[DbexampleService、HttpExampleService、MongoService、MysqlService]
})
導出類別 ExamplesModule {}
; <p><strong>檔案:<code>DB.module.ts</code></strong></p>
從 '@nestjs/common' 導入 { Module };
從 './services/mongo.service' 導入 { MongoService };
從'./controllers/db.controller'導入{DBController};
從'./services/mysql.service'導入{MysqlService};

@模組({
  控制器:[DBController],
  提供者:[MongoService,MysqlService],
  導出:[MongoService、MysqlService]
})
導出類別 DBModule {}
; <p><strong>檔案:<code>App.module.ts</code></strong></p>
從 '@nestjs/common' 導入 { Module };
從'./app.controller'導入{AppController};
從'./app.service'導入{AppService};
從'@nestjs/config'導入{ConfigModule,ConfigService};
從'../config/configuration'導入{配置};
從'./examples/services/dbexample/dbexample.service'導入{DbexampleService};
從'./examples/controllers/dbexample/dbexample.controller'導入{DbexampleController};

@模組({
  進口:[
    ConfigModule.forRoot({
      是全域的:正確的,
      負載:[配置]
    })
  ],
  控制器:[AppController、DbexampleController]、
  提供者:[
    應用服務,
    資料庫範例服務
  ],
})
導出類別 AppModule {}</pre>
<p>問題:是否必須導入<code>App.module</code>中的所有模組?如果否,如何解決此錯誤?</p>
P粉615886660P粉615886660468 天前421

全部回覆(1)我來回復

  • P粉916760429

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

    嘗試在 example.module.ts 中匯出 DBModule 並在 AppModule 中匯入 ExamplesModule

    回覆
    0
  • 取消回覆