← 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();