2012年11月2日金曜日

サーバサイドJavaScript-2

◆Nodeのインストール

http://nodejs.org/のサイトで,WindowsとMacにはインストーラが,そしてLinux用にソースコードが提供されている。
インストーラは実行すると,Windowsは「C:\Program Files (x86)\nodejs\node.exe」と,Macは「/usr/local/bin/node」として,それぞれ実行ファイルがインストールされる。

基本的にLinuxにおいては,ソースコードからのコンパイルになります。GCCなどのコンパイラ環境がすでにインストールされている状態で,次のような手順でインストール

$ wget http://nodejs.org/dist/v0.9.2/node-v0.9-2.tar.gz
$ tar zxvf node-v0.9.2.tar.gz
$ cd node-v0.9.2
$ ./configure
$ make
# make install

最後の「make install」はrootユーザで行い,「/usr/local/bin/node」として実行ファイルがインストールされます。


◆モジュールの使い方について
ブラウザ上で動くJavaScriptはすべてのjsファイルがマージされたものとしてスコープが適用されますが,nodeにはモジュールという単位で各機能を分割することができます。

モジュールが1つのjsファイルとなります。それぞれのグローバルスコープはそれぞれのjsファイル内で"閉じた"状態になり,exportsオブジェクトを通して外部に渡すことができます。モジュールの参照はrequire関数を使います。読み込んだモジュールのexportsオブジェクトを返してくれます。

モジュール参照の一例を見てみましょう。
exports.printFoo = function(){ return "foo" }

このコードをfoo.jsファイルとして保存します。このfooモジュールは,文字列「foo」を返すだけのprintFooメソッドを実装しています。

var foo = require('./foo.js');
console.log(foo. printFoo());

こちらのコードをmain.jsファイルとして,同じディレクトリに保存します。foo.jsをモジュールとして読み込んで,fooオブジェクトで参照します。printFooメソッドの結果をコンソールに出力します。

node main.js

を実行すると,コンソールに「foo」と出るのが確認できます。

*ファイルはUTF-8で保存することによって、日本語が取り扱える。