this example有什么好的解决方案吗?
好像我有很多像photo.module.ts
这样的模块我需要在每个功能模块中导入DatabaseModule
。
试图把它放在app.module.ts
但它没有帮助。也许有一些forRoot
静态导入的解决方案?
正如它在文档中所说:
在本文中,您将学习如何使用自定义提供程序机制从头开始基于TypeORM包创建DatabaseModule。因此,这个解决方案包含很多开销,您可以使用现成的和可用的开箱即用的专用@ nestjs / typeorm包来省略。
所以最好使用@nestjs/typeorm
包,请参阅docs。
使用@nestjs/typeorm
软件包时,必须为每个功能模块导入TypeOrmModule.forFeature([PhotoEntity])
。在每个要素模块中,您只想注册属于该要素的实体。这改善了封装。
您试图在AppModule
中注册一个模块,并想知道为什么它的提供程序在功能模块中不可用。请注意,模块始终必须导入模块本身,以便它可以访问其导出的提供程序。唯一的例外是global modules。当您使用装饰器@Global()
注释模块时,只要导入至少一次(例如在您的AppModule
中),它将自动导入所有模块。