Nest核心组件 - modules

7/4/2023 NodejsNestjs

# 2.3 模块(Modules)

模块在 NestJS 中用于组织应用程序的不同部分。每个 NestJS 应用都至少包含一个根模块,它作为应用程序的主模块。

# 2.3.1 创建一个模块

我们来创建一个简单的模块。在 src 目录下创建一个新的文件 cats.module.ts,并编写以下代码:

import { Module } from '@nestjs/common';
import { CatsController } from './cats.controller';
import { CatsService } from './cats.service';

@Module({
  controllers: [CatsController],
  providers: [CatsService],
})
export class CatsModule {}
1
2
3
4
5
6
7
8
9

在上面的代码中,我们使用了 NestJS 提供的 Module 装饰器来定义一个模块类。@Module() 装饰器接受一个包含 controllers 和 providers 属性的对象,用于指定该模块包含的控制器和提供者。

# 2.3.2 引入和使用模块

现在我们已经创建了一个简单的模块 CatsModule,接下来我们需要将它引入到根模块中,并将其添加到应用程序的依赖图中。

打开 src/app.module.ts 文件,并添加 CatsModule 到 imports 数组中:

import { Module } from '@nestjs/common';
import { CatsModule } from './cats/cats.module';

@Module({
  imports: [CatsModule],
})

export class AppModule {}
1
2
3
4
5
6
7
8

在上面的代码中,我们通过 imports 属性将 CatsModule 添加到根模块 AppModule 中。这样,CatsModule 中的控制器和提供者就成为了 AppModule 的一部分,并可以在整个应用程序中被使用。

编辑时间: 7/4/2023, 12:00:00 AM