【超初心者向け】NestJSでサンプルプロジェクトを作ってみる(Windows)
記事の概要
この記事では、今話題のフレームワークであるNestJSの入門として、次の流れで解説していきます。
- 環境構築
- サンプルプロジェクトの作成
- 動作確認
超初心者向けなので、NestJSの入門でつまずいている方、諦めそうな方はぜひ一度読んでみてください。
きっと、最初の一歩を踏み出せると思います。
NestJSとは
Node.jsというサーバサイドでJavaScriptが動く環境向けのアプリケーションを効率的に作ることができるフレームワークです。
詳しくは、公式ドキュメントを日本語訳してくださっている記事がありますので、ご参照ください。
NestJS 公式ドキュメントver7日本語訳
環境構築
前提
今回はWindows10(64bit)と、Visual Studio Code(以下「VSCode」という。)で作っていきます。
Node.JSのインストール
NestJSはNode.jsのフレームワークなので、まずはNode.JSをインストールします。
Node.JS公式ホームページからインストーラをダウンロードしてインストールします。
NestJSプロジェクトの作成
インストールが完了したら、お好みのCLI(コマンドラインインターフェース)を起動してください。筆者はPowershellを使います。
続いて、プロジェクトを作成したいフォルダに移動します。
> cd C:\dev
次のコマンドを実行してプロジェクトを作成します。nest-sample
の部分はお好みのプロジェクト名を指定してください。
> npx -p @nestjs/cli nest new nest-sample
表示されたパッケージをインストールする必要があるかをどうか聞かれるので、y
と回答します。
Need to install the following packages:
@nestjs/cli@10.1.8
Ok to proceed? (y)
どのパッケージマネージャーが良いか聞かれるので、好みに合わせて選択します。
? Which package manager would you ❤️ to use? (Use arrow keys)
> npm
yarn
pnpm
筆者は、初心者なので、公式パッケージマネージャーであるnpm
を選択しました。
選択にあたっては、こちらのブログを参考にさせていただきました。
パッケージマネージャーを選択すると、いよいよNestJSがインストールされます。
インストールの様子(長いので畳みます)
? Which package manager would you ❤️ to use? npm
CREATE nest-sample/.eslintrc.js (663 bytes)
CREATE nest-sample/.prettierrc (51 bytes)
CREATE nest-sample/nest-cli.json (171 bytes)
CREATE nest-sample/package.json (1956 bytes)
CREATE nest-sample/README.md (3340 bytes)
CREATE nest-sample/tsconfig.build.json (97 bytes)
CREATE nest-sample/tsconfig.json (546 bytes)
CREATE nest-sample/src/app.controller.spec.ts (617 bytes)
CREATE nest-sample/src/app.controller.ts (274 bytes)
CREATE nest-sample/src/app.module.ts (249 bytes)
CREATE nest-sample/src/app.service.ts (142 bytes)
CREATE nest-sample/src/main.ts (208 bytes)
CREATE nest-sample/test/app.e2e-spec.ts (630 bytes)
CREATE nest-sample/test/jest-e2e.json (183 bytes)
√ Installation in progress... ☕
🚀 Successfully created project nest-sample
👉 Get started with the following commands:
$ cd nest-sample
$ npm run start
Thanks for installing Nest 🙏
Please consider donating to our open collective
to help us maintain this package.
🍷 Donate: https://opencollective.com/nest
npm notice
npm notice New minor version of npm available! 9.5.1 -> 9.8.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v9.8.0
npm notice Run npm install -g npm@9.8.0 to update!
インストールの最後に、npmの新しいマイナーバージョンが出ているよとアドバイスいただいたので、仰せの通りアップデートします。
> npm install -g npm@9.8.0
added 1 package in 13s
28 packages are looking for funding
run `npm fund` for details
さて、CLIでプロジェクトが作成されているかどうか、確認しましょう。
> ls
ディレクトリ: C:\dev
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2023/07/12 20:47 nest-sample
プロジェクトフォルダの中身も見てみましょう。
> ls nest-sample
ディレクトリ: C:\dev\nest-sample
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2023/07/12 20:47 node_modules
d----- 2023/07/12 20:45 src
d----- 2023/07/12 20:45 test
-a---- 2023/07/12 20:45 663 .eslintrc.js
-a---- 2023/07/12 20:47 391 .gitignore
-a---- 2023/07/12 20:45 51 .prettierrc
-a---- 2023/07/12 20:45 171 nest-cli.json
-a---- 2023/07/12 20:47 296194 package-lock.json
-a---- 2023/07/12 20:45 1956 package.json
-a---- 2023/07/12 20:45 3340 README.md
-a---- 2023/07/12 20:45 97 tsconfig.build.json
-a---- 2023/07/12 20:45 546 tsconfig.json
見事、プロジェクトが作成されています!アガりますね!!
Visual Studio Codeでプロジェクトを開いてみる
ここからは、VSCodeを使っていきます。
インストールしていない方は、こちらからインストールしましょう。
フォルダーを開く
から、先ほど作成したプロジェクトフォルダ(筆者はnest-sample
)を開きます。
初めて開く場合は、フォルダ内のファイルの著者を信頼するかどうか聞かれます。もちろん信頼します。
VSCode上で、先ほど作成したプロジェクトフォルダを開くことができました。
動作確認
それでは、動作確認してみましょう!
実は、VSCodeでもCLIを使うことができます。
メニューバー>表示>ターミナル
で開くことができます。
コマンドnpm run start
でアプリケーションを実行します。
PS C:\dev\nest-sample> npm run start
> nest-sample@0.0.1 start
> nest start
[Nest] 18740 - 2023/07/27 19:58:01 LOG [NestFactory] Starting Nest application...
[Nest] 18740 - 2023/07/27 19:58:01 LOG [InstanceLoader] AppModule dependencies initialized +34ms
[Nest] 18740 - 2023/07/27 19:58:01 LOG [RoutesResolver] AppController {/}: +66ms
[Nest] 18740 - 2023/07/27 19:58:01 LOG [RouterExplorer] Mapped {/, GET} route +7ms
[Nest] 18740 - 2023/07/27 19:58:01 LOG [NestApplication] Nest application successfully started +8ms
エラーなく実行されたことを確認したら、ウェブブラウザ上でhttp://localhost:3000/
にアクセスしてみましょう。
画面上にHello World!
と表示されていれば、無事アプリケーションが実行されています!
感無量です!!!
あとがき
無事Hello world!
が表示されましたでしょうか?
筆者は、触ったことのない開発環境や新しいフレームワークを使い始めることが苦手で、環境構築時点で思い通りにいかず、嫌になってしまうことがあります。
プログラミングを始めて間もない方は特に、同じ悩みを持たれている方も多いのではないでしょか。
今回は、そんな理由でソフトウェア開発を諦めてしまう方を一人でも減らしたいと思い、しつこいくらい詳しめに執筆してみました。
ソフトウェアエンジニアは、日本の、そして世界の未来を、テクノロジーの力で創っていくことができる素晴らしい職業だと思います。
日本のソフトウェアエンジニアが増え、この業界がもっともっと盛り上がることを願って、これからも執筆していこうと思っています!
Discussion