0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Nodemonを用いたExpress起動

Posted at

Express 毎回再起動するの面倒くさくない??

Node.jsでExpressを用いてWebサーバーを作成する記事を今まで記載してきました。
今後も学んだことを記事にしていきますがExpressで機能を追加した際に動作検証をするとき、
何度も再起動するのめんどくさいな、と思ったときにNodemonを知って便利!となったので記事にします。

Nodemon

Nodemonはnpmに公開されているパッケージの一つです。
私が把握している機能は
指定したディレクトリ内のファイルが変更された場合、自動的にnodeアプリケーションを再起動する
Expressでファイルを変更した場合、サーバの再起動をNodemonが自動で行ってくれる
です。
毎回コマンドで再起動しなくていいのは便利じゃないですか!?笑
※他にも機能があれば教えていただきたいです。

Nodemon 設定

下記記事で記載したフォルダ構成を元に説明します。
ExpressでWebサーバーを立ててみる
※自分で読み替えられる人は自分のプロジェクトに読み替えてください。
私が最初の頃はnpm install パッケージってどこでしたらいいの??ってなってたので
基準となるフォルダ構成を用いて説明します。

コマンドプロンプト or ターミナルでsrcディレクトリに移動してください。
srcディレクトリに移動した後に以下のコマンドを実行してください。

npm install --save-dev nodemon

※npm installで--save-devを用いるかどうかについては別記事でまとめます。

インストール後、package.jsonscriptsdevStartの1行を追加してください。

"scripts": {
    "devStart": "nodemon app.js"
}

設定は以上になります。
※なぜpackage.jsonに設定をしているかは下記記事を見てください。
Expressの起動方法

Nodemonを用いてExpressを起動してみる

コマンドプロンプト or ターミナルでsrcディレクトリに移動して下記コマンドを実行してください。

npm run devStart

下記結果が表示されWebサーバー(Express)が起動します。

> mock-server@1.0.0 devStart
> nodemon app.js

[nodemon] 3.1.0
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,cjs,json
[nodemon] starting `node app.js`
listen on port... 8000

何かファイル内を変更し保存してみてください(コメントの追加だけでも大丈夫です)。
以下のように再起動したログが表示されます

[nodemon] restarting due to changes...
[nodemon] starting `node app.js`
listen on port... 8000

毎回コマンドで再起動しなくて良くなりました!!

余談

npmのパッケージをインストールしてるのにソースコードで利用しないのは初めてだったため
少し違和感がありましたが、こうゆう使い方もあるのかと知ることができました。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?