<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>
嘗試在
example.module.ts
中匯出DBModule
並在AppModule
中匯入ExamplesModule
。