💡
原文中文,约2400字,阅读约需6分钟。
📝
内容提要
模块是使用@Module()装饰的类,提供Nest应用的结构元数据。每个应用至少有一个根模块,负责查找依赖关系。模块可以包含控制器、服务,并导入和导出其他模块。Nest支持共享模块和全局模块,使用@Global()装饰器可使模块在全局可用。动态模块功能简化了自定义模块的开发。
🎯
关键要点
- 模块是使用@Module()装饰的类,提供Nest应用的结构元数据。
- 每个应用至少有一个根模块,负责查找依赖关系。
- 模块可以包含控制器、服务,并导入和导出其他模块。
- Nest支持共享模块和全局模块,使用@Global()装饰器可使模块在全局可用。
- 动态模块功能简化了自定义模块的开发。
❓
延伸问答
Nestjs 中模块的定义是什么?
模块是使用@Module()装饰的类,提供Nest应用的结构元数据。
如何创建一个模块?
可以使用@Module()装饰器并定义控制器和服务,例如:@Module({ controllers: [CatsController], providers: [CatsService] })。
什么是全局模块,如何使用?
全局模块使用@Global()装饰器,可以让模块在全局可用,避免每次都要调用。
Nestjs 模块如何实现依赖注入?
模块的构造函数可以注入指定的 providers,通常用于配置参数场景。
动态模块在 Nestjs 中有什么作用?
动态模块功能简化了自定义模块的开发,可以返回同步或异步模块。
如何共享模块中的服务?
可以在模块的exports参数中指定要共享的服务,以便其他模块使用。
➡️