更新があったらNode.jsサーバを自動で再起動! – nodemon が鬼便利

Node.jsサーバの hot reload を実現!

みなさん、こんにちは。どんぶラッコです。

前回、WebSocketサーバを実装するために Node.jsサーバを立てました。

このように、頻繁に nodeサーバを再起動する開発フェーズでは “変更があったら自動で再起動してほしい…” と思う人が多いんじゃないでしょうか?

実はそれ、nodemon を使うと実現することができるんです!

早速、前回作った node サーバを例にして実装してみましょう。

どんぶラッコ
どんぶラッコ

node.jsで作られたプロジェクトならやることは一緒だよ!

nodemon 導入手順

nodemonパッケージのインストール

まずは nodemon パッケージを 追加します。

nodemon を追加
npm i nodemon
# または yarn add nodemon

あとは 今までサーバを起動するときに node xxxx.js と叩いていたところを nodemon xxxx.js に変えて起動するだけです!簡単ですね。

package.json のスクリプトとして登録して yarn hot ( npm run hot )で起動できるようにしちゃいましょう。

package.json
{
  // 中略
  "scripts": {
    "hot": "nodemon server.js", // 追記
  },
  // 中略
}

ちゃんとファイルに更新があると restart してくれていることがわかりますね!

javascript ファイル以外の更新も検知して欲しいとき

デフォルトでは js や json ファイルの変更しか検知してくれません。

もし、 “HTMLの変更も見て更新してよ…!” などの要望がある場合は、nodemon.json に詳細の発火条件を追記することができます。

今回は .html , .js ファイルの更新を監視するように指示してみます。

プロジェクトルートに nodemon.json を作り、このように指定します。

/nodemon.json
{
  "ext": "js,html"
}

その上で再度サーバを立ち上げてみてください。

js, html に変更されました!

この記事のまとめ

今回は nodemon を使ってhot reload する方法でした。

名前の由来は node + demon (daemon) なのかな?

Nodemon Logo

アイコンも可愛いですね!笑

ぜひ挑戦してみてください♪

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA