モジュールを作成し、機能を管理する方法
NestJSのモジュールの作成と管理について学びましょう。
概要
NestJSでは、アプリケーションの構造を整理し、コードの再利用を促進するためにモジュールという概念があります。モジュールは関連するコントローラーやサービスをひとまとめにし、アプリケーションの構造を明確にします。この記事では、モジュールの作成と管理方法を具体的な例を交えて解説します。
nest.js v10.1.7
nodejs v19.7.0
また、今回作成するコードは全て、GitHubに掲載しています。
モジュールを作成する方法
NestJSでは、CLIを使って簡単にモジュールを作成することができます。以下のコマンドを実行すると、usersモジュールが作成されます。
nest g module users
このコマンドを実行すると、usersモジュールに必要なファイルが自動的に作成されます。
src/
└── users/
└── users.module.ts
また、ルートモジュールのapp.module.ts
にも、作成したモジュールが自動的に追加されます。
/src/app.module.ts
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { UsersModule } from './users/users.module';
@Module({
imports: [UsersModule],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
モジュールを設定する方法
次に、usersモジュールにコントローラーとサービスを追加します。これにより、usersモジュールがユーザーに関する処理を一手に担うようになります。
/src/users/users.module.ts
import { Module } from '@nestjs/common';
import { UsersController } from './users.controller';
import { UsersService } from './users.service';
@Module({
imports: [],
controllers: [UsersController],
providers: [UsersService],
})
export class UsersModule {}
これで、usersモジュールはユーザーのデータを操作するロジックを持つようになりました。ルートモジュールのapp.module.ts
は以下のようになります。
/src/app.module.ts
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { UsersModule } from "./users/users.module";
@Module({
imports: [UsersModule],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
このようにモジュールを利用すると、関連する機能をひとまとめにすることができ、アプリケーションの構造が明確になります。
まとめ
この記事では、NestJSでのモジュールの作成と管理方法について学びました。モジュールはアプリケーションの構造を整理し、コードの再利用を促進します。次のステップとして、NestJSのミドルウェアについて学ぶことをお勧めします。