Dev Study
NestJS コース

2. main.ts とブートストラップ

NestJS アプリのエントリーポイントは main.ts です。NestFactory.create() にルートモジュール(AppModule)を渡してアプリのインスタンスを作り、app.listen() でポートを指定して HTTP サーバーを起動します。この一連の起動処理をブートストラップと呼びます。

実務でも main.ts は基本的にこの数行のまま薄く保ち、アプリ全体に効かせたい設定(後のレッスンで学ぶグローバル設定など)だけをここに足していきます。起動まわりの調査やレビューはまず main.ts を見る、というのが共通の入口になります。

ルートモジュールはこの時点では空で構いません。@Module() の中身の意味は後のレッスンで扱うので、ここでは「create に渡したモジュールを起点にアプリが組み立てられる」という流れだけ押さえましょう。

サンプルコード(フレームワーク環境が必要なため表示のみ)

// main.ts — アプリのエントリーポイント
import { NestFactory } from "@nestjs/core";
import { Module } from "@nestjs/common";

// ルートモジュール(部品をまとめる入れ物。詳細は後のレッスンで)
@Module({})
class AppModule {}

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  await app.listen(3000); // http://localhost:3000 で待ち受け
}
bootstrap();
公式ドキュメントで詳しく ↗