まずはじめに
ほんと最近ですが,Node.jsにお触りしました.
折角なので,頭の中で整理をつけるためにも書いていこうと思います.
お付き合いください.
#Node.jsとは
端的に言えば,サーバサイドで動作するJavaScriptの環境です.
大量のリクエストを高速で処理できる…そんなWebアプリの開発が可能です.
なぜに大量の処理を速くできるの?という話になりますが,
要因として,シングルスレッド方式やノンブロッキングI/Oを採用しているからだと言えますが,ひとまずここについては説明を省きます.
環境構築
環境構築って嫌ですよね.ハマったら最後,迷宮入り.
でもNode.jsはそんなことありません.とっても簡単なのです.
以下に示します.(Vagrant/CentOS6.4の環境下で行っています)
NVM(Node Version Manager)のインストール
これは,Node.jsのバージョンの切り替えを簡単にできるツールです.
Node.jsは頻繁にバージョンが上がっていくので,まぁ必須です.
ただ,nodebrewのようなのもあるので,何を使うかはお任せします.
インストールするにはコマンドラインで以下の2つを実行してください.
$ git clone https://github.com/creationix/nvm.git ~/.nvm
$ source ~/.nvm/nvm.sh
その後,ヘルプが表示されるか確認してみましょう.
$ nvm help
Node Version Manager
…
エラーが出なければ成功です.
nvmでnode.jsをインストール
まず,nvm ls-remoteでインストールできるバージョンを確認してみましょう.
$nvm ls-remote
v0.1.14
v0.1.15
v0.1.16
…
v0.12.7
v0.12.8
v0.12.9
…
このようにドドドと表示されます.(2015/12/22現在)
この中からバージョンを選んでインストールしましょう.
$ nvm install v0.12.9
終わったらば,確認を…
$ node -v
v0.12.9
バージョンが無事表示されればバッチリです.
また,NVMはその名の通り,バージョンの管理ができるので,いくらでもインストールできます.
自分がインストールしてきたバージョンを確認したい場合は,
$ nvm ls
で確認できます.
その中で使用するバージョンを切り替えたい場合は
$ nvm use v0.12.7
のように指定してあげれば簡単にできます.
nvmの設定
Node.jsのデフォルトのバージョンを指定しましょう
nvm alias default v0.12.9
次に,環境を再度立ち上げた時にnvmコマンドが実行できるよう,bash_profileへ追記しましょう.
(やらないとまた設定をし直すはめに…)
vi ~/.bash_profile
if [[ -s ~/.nvm/nvm.sh ]];
then source ~/.nvm/nvm.sh
fi
環境構築は以上です.
それでは定番の…
Hello World の時間です.
適当にhello.jsなど作って以下のソースコードを記述しましょう.
var http = require('http');↲
var server = http.createServer();
server.on('request', function(req, res) {↲
res.writeHead(200, {'Content-Type': 'text/plain'});↲
res.write('Hello World');↲
res.end();↲
});↲
server.listen(2525,'192.168.33.10');↲
console.log("The server is now running.");↲
解説すると…
まず,node.jsが提供しているhttpモジュールを,オブジェクトとして読み込みます.
これは色々な場面で使うので,書くのが定番らしいです.
var http = require('http');↲
そして,http.Serverのインスタンスを作ってサーバを作ります.
var server = http.createServer();
次に,onでserverとイベントと紐付けします.
イベントの種類はrequestなので,アクセスする度に以下のコールバック関数が呼び出されます.
この場合,第二引数のres(response)が返ってくる値になるため,
res.write
で'Hello World'を書き込んでください.
今回書き込みたい情報は,”Hello World”という文字列だけです,
なので,writeHead
には,成功を意味する200のステータスコードに加え,
Content-Type
はtext/plain
に設定しましょう.あと,最後のend
は忘れずに…
server.on('request', function(req, res) {↲
res.writeHead(200, {'Content-Type': 'text/plain'});↲
res.write('Hello World');↲
res.end();↲
});↲
サーバが待ち受けるポート番号(任意)とIPアドレスを指定してあげましょう
ちなみにVagrantで設定してるIPアドレスを入れています.
server.listen(2525,'192.168.33.10');↲
だらりと説明してしまいましたが,こんな感じです.
早速,実行してみましょう.
基本的に node [file_name]
で可能です.
$node hello.js
The server is now running.
コンソールログが出てきました.いいかんじ.
ではでは,ブラウザで http://192.168.33.10:2525 にアクセスしてみましょう!
そこには…
Hello World
出ているはずです.お疲れ様でした.
最後に言いたいこと
今回はNode.jsの環境構築からhelloworldまで載せました.
ちょっと物足りないかもしれません.
簡単なチャットアプリについても載せたかったのですが…
疲れたのでやめます(笑)
普段全く投稿しないので体力不足ですね…
またNode書いて投稿します.
見てくれてありがとうございました!