なんでこれ書いたか
- 100万回こすられてきた、Node.jsのサーバー起動のイメージを自分のために残したかったから
- JavaScriptでサーバーサイドを書くというのが、イメージしづらかったから
最初に完成品を
※「Hello! World」が相場かと思いますが、私のイメージでは、
このサーバーは野球のキャッチャーです!
続いてソースコード
playball.js
// ライブラリ類のロード(今回はhttpオブジェクトを呼ぶ)
var http = require('http');
// httpオブジェクトの「createServer」メソッドを呼び出す
// Node.jsの「サーバー」となる部分
var server = http.createServer();
// ピッチャーがストレート(request)を投げてきたら,キャッチャーは叫ぶ(doRequest)
server.on('request', doRequest);
// キャッチャーはストレート投げてこいよ!(=8000番ポート開けて待ってるからね)とキャッチャーミットを構える(listenする)
server.listen(8000);
// リクエストの処理(= ピッチャーがストレート投げてきたときのキャッチャーの挙動を書く)
function doRequest(req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Nice Ball!!!');
}
// このファイルが呼び出されたとき試合開始(プレイボール!)
console.log('プレイボール!(と審判が言った)');
早速、試合開始
プレイボール!
$ node playball.js
> プレイボール!(と審判が言った)
キャッチャーは準備を始める
// サーバーを立てないと!(キャッチャーミットとか装備)
var http = require('http');
var server = http.createServer();
キャッチャーは深呼吸する
// ピッチャーがストレート(request)を投げてきたら,叫ぶぞ!(doRequest)
server.on('request', doRequest);
キャッチャーミットを構える
// キャッチャーはストレート投げてこいよ!(=8000番ポート開けて待ってるからね)(待ち受け状態)
server.listen(8000);
ピッチャーが渾身のストレートを投げる
// リクエストの処理が発動(= ピッチャーがストレート投げてきたときのキャッチャーの挙動!)
function doRequest(req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Nice Ball!!!');
}
NiceBall!!
おわりに
- もっといいイメージが湧いたら書き直します