d3.jsな日々

d3.jsでデータ可視化する際の覚書です

Node.jsでローカルHTTPサーバーを作る

Node.jsは高速でスケーラブルなネットワークアプリケーションを 簡単に構築するためにChromeJavaScript 実行環境 上に構築されたプラットフォーム。 イベント駆動とノンブロッキング I/O モデルを使用することにより 軽量・効率的で、分散されたデバイスにまたがるデータ集約的なリアルタイム アプリケーションを作ることができる。


Node.jsのインストールやバージョンアップはnvm(Node Version Manager)をつかう。
第1回 Node.jsとは:基礎から学ぶNode.js|gihyo.jp … 技術評論社
node.jsのバージョンアップ、バージョン切り替え - Qiita


インストールは'nvm install バージョン'で行う。

$ nvm install 0.10.25
######################################################################## 100.0%
Now using node v0.10.25

マイナーバージョン(ビルド番号)を省略すると最新のマイナーバージョンがインストールされる。

Node.jsを起動するには

$ node -v

と入力し、バージョンが表示されればOK。

nvm(node version manager) が動くようにする。インストールは

$ git clone git://github.com/creationix/nvm.git ~/.nvm

nvmが使用できるようにするには、

$ source ~/.nvm/nvm.sh

とする。これでnvmの準備は完了。…だが、ターミナル(コンソール)を閉じると、Nodeのバージョンはデフォルトに戻るし、ターミナルを起動するたびにsource...を実行しなければならない。これは面倒。

対策1:Nodeのデフォルトバージョンを変えるには

$ nvm alias default v0.11.11

とする。

対策2:source ...をターミナル起動時に実行するように、次を~/.zshenv, ~/.bash_profile, ~/.zshrc などに記載する。

if [[ -s /Users/aaaaaa/.nvm/nvm.sh ]] ; 
then source /Users/aaaaaa/.nvm/nvm.sh ; fi

ここでaaaaaaにはホームディレクトリを記述する。


Node.jsは複数のバージョンを切り替えて使うことができる。

現在インストールされているバージョンの確認は、'nvm ls'で行う。同時に現在使用中のバージョンも表示される。

$ nvm ls
  v0.10.25
  v0.10.26
  v0.11.11
current: 	v0.10.25

使用バージョンの切り替えは'nvm use 0.11'というように行う。

※日本ユーザーグループのサイトによると、現時点の最新版はv0.11.11だが、安定版はv0.10.25ということになっている。


Node.jsを使ってローカルに稼働するHTTPサーバーを作には、http-serverモジュールをインストールする。参考:http-server

このためには'npm (Node Package Manager)を使う。nvmと混同しないように!

XOOMS14-2:~ ay3844$ npm install http-server -g
  • gコマンドはグローバルにアクセスできるようにするオプション(らしい)。-gの実行は管理者権限か、sudoで実行する事が必要。

また、パッケージはバージョンごとにインストールが必要なことに注意。


後はサーバーのルートにしたいディレクトリに移動し、http-serverを起動するだけ。

XOOMS14-2:~ ay3844$ cd ~/Documents/_development/d3
XOOMS14-2:~ ay3844$ http-server


ブラウザから、http://localhost:8080/ でHTTPサーバにアクセスできる。

http://localhost:8080/project/index.html

のように、開きたいhtmlファイルを指定する。デフォルトポートは8080だが、http-serverの-pオプションでポート番号を変更できる。

http-serverは、Ctrl-Cで終了する。