Carpe Diem

  Top > スポンサー広告> Node.js > Node.jsを使ってみる  

スポンサーサイト

-- - --/-- [--] - --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Node.jsを使ってみる

2013 - 02/05 [Tue] - 15:10

話題のサーバーサイドJavaScriptである Node.js を使用してみます。
Node.jsのメリットとしては「リアルタイムweb」の構築ができる点が有名です。Facebookのメッセージとかは更新リクエストをしなくても勝手に相手のメッセージが表示されていきますよね。あれです。

Ubuntuはレポジトリ登録で簡単にインストールできます。


$ sudo apt-get install python-software-properties python g++ make
$ sudo add-apt-repository ppa:chris-lea/node.js
$ sudo aptitude update
$ sudo aptitude install nodejs npm

◆動作確認
Node.jsはインタプリタも内装されているので、コマンドラインからJavaScriptが実行できます。

$ node
>1 + 2
3


下記のサンプルコードを実行して実際にブラウザで表示してみましょう。

$ emacs -nw app.js

var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, "127.0.0.1");
console.log('Server running at http://127.0.0.1:1337/');


$ node app.js

http://127.0.0.1:1337/
にアクセスして「Hello World」が表示されればOKです。


◆モジュールのインストール
有名ドコロは
・express:フレームワーク
・socket.io:ライブラリ。リアルタイムな双方向通信ができるWebSocketを使える
・Jade:テンプレートエンジン
・ejs:テンプレートエンジン


ローカルインストールは

$ npm install モジュール名

グローバルインストールは

$ sudo npm install -g モジュール名


◆Expressをインストールしてみる
グローバルでインストールしてみます。

$ sudo npm install -g express

サンプルの導入

$ express -e sample
$ cd sample
$ npm install

上の「npm install」はそのローカル内で依存関係のモジュールをインストールしてくれます。どのモジュール化はフォルダ内の「package.json」に書いてあります。


◆ディレクトリ構成
node.jpg

/node_modules
Expressなどのモジュールが入っているディレクトリ。基本的には触れません

/public
公開ディレクトリです。画像や、CSS、クライアントサイドのJavaScriptはこのフォルダ以下に置きます

/views
HTMLのテンプレートを置くディレクトリ

/rotes
HTMLテンプレートとの関連付けをするindex.jsが入っているディレクトリ。viewsにテンプレートを追加した場合は、/rotes/index.jsも更新する

app.js
サーバサイドのメイン部分。URLの対応付けや、アプリの処理はここに書きます。



◆動作確認
実行して

$ node app.js

ブラウザで
http://localhost:3000

にアクセス。Welcome to Express と表示されればOK


◆リアルタイムブラウザチャットを試す
サンプルファイルのダウンロード。git を使用します。git ってなーに?って人は「Gitの解説、導入」を参考に。

$ git clone git://github.com/coppieee/node-chat-demo.git
$ cd node-chat-demo
$ npm install
$ node app

ではブラウザにアクセス
http://localhost:3000

複数のブラウザを立ちあげて、それぞれのウィンドウで何か入力するとリアルタイムで反映されていくのが分かります。

node_chat.png

とりあえず今回はNode.jsのリアルタイムwebというものの体験。



ソース:
Node.jsでどんなことができる?
Node.js、Socket.IO、MongoDBでリアルタイムWeb
npm と Node.js 上で require を使ったモジュール読み込みの仕組みについてメモ

コメントの投稿





管理者にだけ表示を許可する

 | ホーム | 

プロフィール

Cicatrice

Author:Cicatrice
備忘録

検索フォーム

カテゴリ

最新記事

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。