Node.js

【画像で解説】Node.jsのnodemonで自動でサーバーを再起動する方法

Node.jsでは、「node app.js」とコマンドを実行することでローカルサーバーでの起動をさせることが可能です。
※詳細は下記記事を参照。

【画像で解説】Node.jsの新規プロジェクトを作成する方法この記事では、Node.jsの新規プロジェクトを開始するための手順をわかりやすく解説します。 なお、Node.jsのプロジェクトを...

しかし、この方法だとjsファイルを変更した場合、手動で毎回サーバーを再起動する必要があります。

この記事では、それを回避するため、Node.jsのパッケージであるnodemonで自動でサーバーを再起動する方法について解説します。

Node.jsのnodemonをインストール

初めにnodemonというnpmパッケージをインストールします。

まずは、コマンドプロンプト(VScodeのターミナルでOK)でNode.jsのプロジェクトファイルのディレクトリ(package.jsonのファイルがあるディレクトリ)に移動します。

そして、下記コマンドを実行して、nodemonをインストールします。

npm install nodemon --save-dev

こんな感じになればインストール出来てます。

Node.jsのnodemonをインストール

インストールしたら、「packge.json」を確認します。

下記の様にnodemonが記載されているか確認します。

Node.jsのnodemonをインストール

確認出来たら、「package.json」の”scripts”の部分に下記を追加してください。

    "start": "nodemon app.js"
  

※「app.js」が「package.json」と違う階層にある場合には、

「 “start”: “nodemon src/app.js”」など階層で記載。

Node.jsのnodemonをインストール Node.jsのnodemonをインストール

Node.jsのnodemonで自動でサーバーが再起動されるか確認

ここまで出来たら、ターミナルで下記を実行し、その状態でブラウザを開いて「localhost:3000」にアクセスします。

npm start

 

Node.jsのnodemonで自動でサーバーが再起動されるか確認

表示が確認出来たら、次はJSファイルの変更が反映されるか確認します。

下記の様に「views/test.ejs」を新規に作成してください。

Node.jsのnodemonで自動でサーバーが再起動されるか確認

ファイルを追加したら、test.ejsに下記コードを追加します。

【test.ejs】

<h1>test</h1>

app.jsにtest.ejsのページを表示させるルーティングを追加します。

※ルーティングについて下記記事を参照してください。

【画像で解説】Node.jsのルーティングと基本的なファルダ構成について解説この記事では、Node.jsの基本となるルーティングとファルダ構成について初心者向けにわかりやすく解説します。 なお、ルーティング...

【app.js】

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.render('index.ejs');
});

//この部分を追加します。
app.get('/test', (req, res) => {
  res.render('test.ejs');
});

app.listen(3000);

ここまで出来たら、test.ejsが表示されるか確認します。

「localhost:3000/test」にアクセスできるか確認して出来れば、自動でサーバーが再起動されています。

Node.jsのnodemonで自動でサーバーが再起動されるか確認

Node.jsのnodemonで自動でサーバーを再起動する方法のまとめ

まとめ
  1. nodemonをインストール
  2. packge.jsonのscriptsに追記
  3. ちゃんと動くかコードを修正してみる。

いかがでしたか?
nodemonを使って自動でサーバーを再起動することで、作業の効率化が図れるので、是非インストールしましょう。