nodemonでnode.jsを自動再起動させる
<目次>
nodemonとは
Nodemon is a utility that will monitor for any changes in your source and automatically restart your server. Perfect for development.
訳)Nodemonはソースの変更を監視し、自動的にサーバーを再起動するユーティリティです。開発に最適です。
(nodemon公式サイトより)
通常、Node.jsで開発時にソースを修正したら、都度node.jsプロセスを再起動させないと反映されません。
原因はNode.jsで読み込まれたJSファイルがキャッシュされるためのようです。
コードを修正するたびに手動でプロセスを再起動させるのは面倒です。
それを解決してくれるのがnodemonです。
使い方
※今回シンプルに、プロジェクトディレクトリ直下においてある、下記のserver.jsを実行させるとします。
server.jsは、サーバーを立てて、アクセスすると「Hello」と表示するシンプルな内容です。
const http = require('http'); const server = http.createServer(); server.on('request', (req, res) => { res.writeHead(200, {'Content-Type': 'text/plain'}); res.write('Hello'); // 表示テキスト res.end(); }); server.listen(8000); console.log('server listening...');
1. nodemonをインストール
npm install --save nodemon
(あまりグローバルインストールしたくないのでローカルインストールします)
2. server.js実行
$ ./node_modules/.bin/nodemon server.js
基本的にはこれだけで監視が始まります。
実際に動かしてみた結果
監視が始まった状態で、localhost:8000
にアクセスすると、「Hello」と表示されます。
その後にserver.jsを下記に変更してみます。
(略).... 変更前: res.write('Hello'); ↓ 変更後: res.write('World');
そしてブラウザをリロードすると、表示テキストが「World」に変わります。
(通常はCtrl + CなどでNode.jsを停止させて、再度$ node server.js
で再起動しなくてはいけません)
これでだいぶコードの修正&確認が捗りそうです。
今回は最低限の使い方だけですが、今後他に便利な使い方があった場合、加筆していきたいと思います。