this example是否有好的解决方案?
好像我有很多像photo.module.ts
这样的模块,我需要在每个功能模块中导入DatabaseModule
。
试图将其放在app.module.ts
中,但无济于事。也许有一些forRoot
静态导入的解决方案?
答案 0 :(得分:1)
如文档中所述:
在本文中,您将学习如何基于以下内容创建DatabaseModule 使用自定义提供程序机制从头开始编写TypeORM软件包。如 因此,此解决方案包含很多开销,您可以 忽略,使用即用型和可用的现成专用 @ nestjs / typeorm包。
因此最好使用@nestjs/typeorm
程序包,请参见docs。
使用@nestjs/typeorm
包时,必须为每个功能模块导入TypeOrmModule.forFeature([PhotoEntity])
。在每个功能模块中,您只想注册属于该功能的实体。这样可以改善封装效果。
您试图在AppModule
中注册一个模块,并且想知道为什么功能模块中没有该模块的提供程序。请注意,模块始终必须自己导入模块,以便它可以访问其导出的提供程序。唯一的例外是global modules。当您使用修饰符@Global()
为模块添加注释时,只要至少导入一次(例如,在AppModule
中),它将自动导入所有模块中。