22
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Nest CLIで始めるnestjs

Posted at
1 / 12

Nest CLIとは

nestjsアプリケーションの開発を支援するCLIツール。
アプリケーションのスキャフォールディングが行える。
Angular DevKit(angular-cli)の設計をもとに開発されている。

スクリーンショット 2018-07-19 8.04.26.png


Nest CLIでできること

  • アプリケーションの新規作成
  • アプリケーションの各種構成要素(controller, service, ...)の作成
  • 依存パッケージ(@nestjs)のアップデート

※ 2018/07/19 現在


それぞれのコマンド紹介

  • アプリケーションの新規作成
    • nest new app-name (alias: n)
  • アプリケーションの各種構成要素(controller, service, ...)の作成
    • nest generate element-name (alias: g)
  • 依存パッケージ(@nestjs)のアップデート
    • nest update package-name (alias: u)

触ってみる

公式ドキュメントによると、npmからインストールする方法と、Docker HubからCLIインストール済みのイメージを取得する方法が紹介されている。
今回は、npmからインストールする方法を試してみる。

Nest CLIのインストール

$ npm i -g @nestjs/cli
$ nest --version
5.3.0

プリケーションの新規作成

$ nest new nestjs-first-app
$ cd nestjs-first-app
$ npm start

対話形式でオプションを選択していくと、アプリケーションの雛形が作成される。

スクリーンショット 2018-07-19 0.43.05.png

作成されたプロジェクトを見ると、コードフォーマッター(prettier)やテストツール(jest)の設定ファイルなども同時に作成されるため、1から各パッケージをインストールするよりも格段に楽にnestjsを始められそうです。


モジュールの追加

ここでは、例としてUserModuleを追加する。

$ nest g mo user

すると、user というディレクトリと、user.moduleが作成される。

スクリーンショット 2018-07-19 1.08.12.png


コントローラーの追加

ここでは、例としてUserControllerを追加する。

$ nest g co user

user ディレクトリ以下にcontrollerのtsとspecが作成され、user.moduleにcontrollerが登録される。

スクリーンショット 2018-07-19 1.10.44.png


サービスの追加

ここでは、例としてUserServiceを追加する。
Controllerのときとは違い、Serviceは実行したディレクトリに対してフラットに作成される仕様らしいので、 user/ ディレクトリを指定して実行した。

$ nest g s user/user

user ディレクトリ以下にserviceのtsとspecが作成され、user.moduleにの providers にserviceが登録される。

スクリーンショット 2018-07-19 1.15.37.png


ビルド

ビルドに関するコマンドはNest CLI側では用意されておらず、package.jsonに書かれたnpm scriptを使って行う。
ココらへんは、プロジェクトに応じてtsconfigとかを設定していくことになる。

$ npm run prestart:prod

スクリーンショット 2018-07-19 8.24.21.png


最後に

nestjsでアプリケーションを作成し始める初動を格段に加速してくれるツールっぽい。
Angular CLIに慣れていると、自然に使い始められる印象。
今後のアップデートに期待。


リンク

Nest CLI -GitHub
Nest CLI Overview -Document

22
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?