Skip to content

模块

Nest 提供了一种模块化的方式—— Module 来组织和管理你的 Nest 程序和代码。

每个 Nest 应用至少要有一个根模块,作为 Nest 应用的入口模块,每个模块都可以看做根模块下的子模块,当这些子模块组合起来,形成一个完整的 Nest 应用。

默认情况下,模块就像是一个“封闭”的盒子,盒子提供了特定的工具,工具会在盒子存在期间,在盒子内共享这些工具功能。

元数据

模块是具有 @Module() 装饰器的类。@Module() 装饰器接受一个对象参数,接口类型为 ModuleMetadata ,它有四个字段,全是数组类型:

  • providers:模块中所有注入的依赖列表,当前模块会共享它们。
  • contrllers:控制器列表,可注册多个。
  • exports:默认情况模块是封闭的,它导出模块的依赖,模块内共享使用。
  • imports:导入其他模块或者其他模块的 providers 列表。

有了这些参数,NestIoC 容器才能准确识别需要组装(注入与被注入)各种依赖关系。

模块导出

共享模块

全局模块

动态模块

如有转载或 CV 的请标注本站原文地址