1. 環境準備
NestJSを使ってアプリケーションを開発するためには、いくつかのツールとフレームワークをインストールする必要があります。以下に、その手順を詳しく説明します。
1.1 必要なソフトウェアのインストール
- Node.jsとnpmのインストールNode.jsは、JavaScriptをサーバーサイドで実行するためのランタイム環境です。npmはNode.jsに同梱されるパッケージマネージャーで、必要なライブラリやツールをインストールする際に利用します。
- Node.jsの公式サイト(nodejs.org)から最新のLTS(長期サポート)バージョンをダウンロードしてインストールします。インストール後、以下のコマンドをターミナルで実行し、Node.jsとnpmが正しくインストールされているか確認します。
node -v npm -v
これにより、Node.jsとnpmのバージョンが表示されれば、インストールは成功です。 - NestJS CLIのインストールNestJS CLI(コマンドラインインターフェース)は、NestJSアプリケーションの作成や管理を効率的に行うためのツールです。以下のコマンドで、グローバルにNestJS CLIをインストールします。
npm install -g @nestjs/cli
インストールが完了したら、以下のコマンドでNestJS CLIが正常にインストールされたか確認します。nest --version
2. 新しいNestJSプロジェクトの作成
NestJS CLIを使って、新しいプロジェクトを簡単に作成できます。以下の手順に従って、プロジェクトをセットアップしていきましょう。
2.1 プロジェクトの生成
ターミナルを開き、次のコマンドを入力して新しいNestJSプロジェクトを作成します。
nest new my-first-nest-app
my-first-nest-app
はプロジェクト名ですので、任意の名前に変更できます。コマンドを実行すると、プロジェクトの作成に必要な設定を尋ねられます。
- Package managerの選択: npmまたはYarnのいずれかを選択します。通常はnpmを選ぶことが一般的です。
プロジェクトが作成されると、次のようなディレクトリ構成が生成されます。
cssコードをコピーするmy-first-nest-app
├── src
│ ├── app.controller.spec.ts
│ ├── app.controller.ts
│ ├── app.module.ts
│ ├── app.service.ts
│ └── main.ts
├── test
│ └── app.e2e-spec.ts
├── node_modules
├── package.json
├── tsconfig.build.json
├── tsconfig.json
└── nest-cli.json
2.2 プロジェクトの構成
- src: アプリケーションのソースコードが含まれるディレクトリです。
- test: テストコードが含まれるディレクトリです。
- package.json: プロジェクトに依存するパッケージやスクリプトを管理するファイルです。
- tsconfig.json: TypeScriptの設定ファイルです。
- nest-cli.json: NestJS CLIの設定ファイルです。
3. NestJSアプリケーションの実行
プロジェクトの作成が完了したら、アプリケーションを実行してみましょう。ターミナルで以下のコマンドを実行します。
cd my-first-nest-app
npm run start
アプリケーションが正常に起動すると、次のようなメッセージが表示されます。
[Nest] 12345 - 2024-10-16 12:34:56 [NestFactory] Starting Nest application...
[Nest] 12345 - 2024-10-16 12:34:56 [InstanceLoader] AppModule dependencies initialized
[Nest] 12345 - 2024-10-16 12:34:56 [NestApplication] Nest application successfully started
デフォルトでは、アプリケーションはhttp://localhost:3000
で実行されます。このURLにアクセスして、NestJSが正常に動作していることを確認しましょう。
ブラウザで以下のURLを入力します:
http://localhost:3000
何も設定していない状態では、NestJSのデフォルトのレスポンスは404 Not Found
となります。
4. 簡単なHello World APIの作成
ここでは、NestJSの基本的な機能を理解するために、シンプルなHello World
APIを作成します。
4.1 コントローラーの作成
src
ディレクトリ内に新しいコントローラーファイルを作成します。ファイル名はhello.controller.ts
としましょう。
src/hello.controller.ts
:
import { Controller, Get } from '@nestjs/common';
@Controller('hello')
export class HelloController {
@Get()
getHello(): string {
return 'Hello World!';
}
}
4.2 サービスの作成
同様に、サービスを作成します。ファイル名はhello.service.ts
とします。
src/hello.service.ts
:
import { Injectable } from '@nestjs/common';
@Injectable()
export class HelloService {
getHello(): string {
return 'Hello World!';
}
}
4.3 モジュールへの追加
次に、コントローラーとサービスをアプリケーションのメインモジュールに登録します。src/app.module.ts
を編集します。
src/app.module.ts
:
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { HelloController } from './hello.controller';
import { HelloService } from './hello.service';
@Module({
imports: [],
controllers: [AppController, HelloController],
providers: [AppService, HelloService],
})
export class AppModule {}
4.4 アプリケーションの再起動
アプリケーションを再起動します。ターミナルで以下のコマンドを実行してください。
npm run start
再度http://localhost:3000/hello
にアクセスすると、「Hello World!」と表示されるはずです。これで簡単なAPIが完成しました。
5. まとめ
この章では、NestJSを使った開発環境の準備とプロジェクトのセットアップ方法を学びました。Node.jsとnpmのインストール、NestJS CLIの利用、プロジェクトの作成、アプリケーションの実行、そして簡単なAPIの構築について詳しく説明しました。