小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


node.jsのプログラムを自動で再起動してくれるnode-devコマンド

はじめに

このエントリでは、node.jsのプログラムを変更した場合に、その変更を自動的に検知して、サーバサイドのプログラムを自動的に再起動してくれるnode-devコマンドについて書いています。

サーバサイドJavaScript Node.js入門
清水俊博 大津繁樹 Jxck 小林秀和 佐々木庸平 篠崎祐輔 高木敦也 西山雄也
アスキー・メディアワークス
売り上げランキング: 15,665

node-devは何がうれしいの?

普通にnodeコマンドを使ってサーバプログラムを起動すると、プログラムを編集するたびに、手動で再起動しなくてはいけないません。しかし、node-devコマンドを使うと、プログラムの変更を検知して、サーバプログラムの再起動を自動的にやってくれます。

さて、node.jsのインストール後は開発ですが、
サーバプログラムなどを作っていると、
プログラムの「実行 -> 修正 -> 再起動 -> 修正 -> 再起動」という流れは、
普段PHPを触っている身としては非常にうっとうしいです。
そこで、ファイルの更新があると自動で再起動してくれるnode-devを利用します。
node.jsの開発時に役立つモジュール : アシアルブログ はてなブックマーク - node.jsの開発時に役立つモジュール : アシアルブログ

必要なもの
  • node.js
  • npm(node.jsのパッケージ管理システム)
node.jsのインストール

node.jsのインストールはこちらを参照してください。

npmのインストール

npmのインストールはこちらを参照してください。

node-devのインストール

さてここからが本題です。npmでnode-devをインストールします。

sudo npm install node-dev -g
>/usr/local/bin/node-dev -> /usr/local/lib/node_modules/node-dev/node-dev
>node-dev@0.1.6 /usr/local/lib/node_modules/node-dev 
node-devを使ってみる

それではnode-devを使ってみます。
1. node-devコマンドでサーバサイドプログラムを起動します。

node-dev example.js 
>23 Feb 22:25:44 - [INFO] Started
>Server running at http://127.0.0.1:8124/

2. 端末をもう1枚起動し、viでexample.jsを実行中に編集します。

sudo vi example.js

3. すると、さきほどの端末側で自動的に再起動されます。コンソールに次のような出力が記録されます。

node-dev example.js
23 Feb 22:25:44 - [INFO] Started
Server running at http://127.0.0.1:8124/
23 Feb 22:26:31 - [INFO] Restarting
Server running at http://127.0.0.1:8124/

これは便利ですね。