Nest.jsに慣れるために
Nest.jsを使って、管理画面APIを作ってみたいと思います〜!
Let’s start💻
環境
- Node.js v15.0.0 -> v16.10.0
- MySQL
- macOS
##インストール
以下のコマンドでNest CLIをインストールし、プロジェクトを作成します。
$ npm i -g @nestjs/cli
$ nest new TodoApp // nest new [プロジェクト名]
⚡ We will scaffold your app in a few seconds..
CREATE .....
CREATE .....
CREATE .....
.
.
.
どのパッケージマネジャーを使うかと聞かれたので、yarn
を選択しました。
####なんか失敗してる。_:(´ཀ`」 ∠):
でも、Thanks言われてる、、、( ・∇・)え?
調べてもよくわからなかった。ので、とりあえず、プロジェクトを開いてみる。
プロジェクトは自動生成はされているっぽい。
$ yarn run start
めっちゃエラー出た。_:(´ཀ`」 ∠):
さっき失敗してたから?
まぁ、@nestjs/commonとかのパッケージ追加すれば良いのでしょ?
ってことで追加!
$ yarn add @nestjs/common
怒られた。_:(´ཀ`」 ∠):
node のバージョンが違う...?
$ node -v
したら、v15.0.0
だった。( ^ω^ )
いうて、警告の中で Got "15.0.0"
って教えてくれてた笑
###プロジェクト作成の際にこけてたのもこれが原因っぽい。
。。。ってことで!
nodenvでnodeバージョンを変更しよう!
$ brew install nodenv
(brewをインストールしてない人は、先にインストールが必要です。)
利用しているシェルにeval "$(nodenv init -)"
を追記。
# vim ~/.bash_profile
eval "$(nodenv init -)"
(私は~/.bash_profile
でした。)
人によっては、~/.bashrc
や~/.zshrc
かな?
上記を設定したら、一旦ターミナルを閉じる。
再度、ターミナルを開いて
$ curl -fsSL https://github.com/nodenv/nodenv-installer/raw/master/bin/nodenv-doctor | bash
↑このカールを実行し
Checking for `nodenv' in PATH: /usr/local/bin/nodenv
Checking for nodenv shims in PATH: OK
Checking `nodenv install' support: /usr/local/bin/nodenv-install (node-build 4.9.43)
Counting installed Node versions: 1 versions
Auditing installed plugins: OK
pathがうまく設定されていなかったら、シェルへの設定が上手くいってないので、eval "$(nodenv init -)"
の追記が上手くいっているか再確認が必要!
ここまで上手くいったら、
指定のバージョンのNode.jsをインストールする
# インストール可能なNode.jsのバージョン一覧
$ nodenv install -l
#一覧が出てきます
…
16.3.0
16.4.0
16.4.1
16.4.2
16.5.0
16.6.0
16.6.1
16.6.2
16.7.0
16.8.0
16.9.0
16.10.0
…
# 自分がインストールしたいバージョンを選んでインストールする
# 今回は16.10.0を採用
$ nodenv install 16.10.0
# nodenvに認識させる
$ nodenv rehash
Node.jsのバージョンを切り替える
# インストールされているNode.jsのバージョン一覧
$ nodenv versions
16.10.0
# 現在のディレクトリ配下で利用するNode.jsのバージョンのみを設定する
$ nodenv local 16.10.0
# システム全体で利用するNode.jsのバージョンを設定する
$ nodenv global 16.10.0
#Node.jsバージョンが変わったか、確認
$ node -v
v16.10.0
#変わった!!
Node.jsのバージョン変更は以上で完了!✨
さっき警告で怒られていた、パッケージを追加していく!
$ yarn add @nestjs/common
$ yarn add @nestjs/core
✨ Doneしたら
もう一度
$ yarn run start
[Nest] 93458 - 2022/02/04 21:48:56 LOG [NestFactory] Starting Nest application...
[Nest] 93458 - 2022/02/04 21:48:56 LOG [InstanceLoader] AppModule dependencies initialized +85ms
[Nest] 93458 - 2022/02/04 21:48:56 LOG [RoutesResolver] AppController {/}: +6ms
[Nest] 93458 - 2022/02/04 21:48:56 LOG [RouterExplorer] Mapped {/, GET} route +3ms
[Nest] 93458 - 2022/02/04 21:48:56 LOG [NestApplication] Nest application successfully started +2ms
###無事起動できた〜!!💓
ブラウザでhttp://localhost:3000/
にアクセス。
Hello Wold
が表示されていたら、
環境構築は完了です!
p.s.
なんか、環境構築って、一発で上手くいったことない。。。
環境構築する時点で挫折して、自分で開発するのやめる人も多そう。(経験済み)
・・・
次は、TypeOrmを使ってMySQLに接続していきます〜( ´∀`)