出典:Nodeビギナーズブック
HTTPサーバをNode.jsアプリケーションとして作成する。
基本的なHTTPサーバ
server001.jsを作成
var http = require("http");
function onRequest(request, response) {
console.log("リクエストを受け取りました");
response.writeHead(200, {"Content-Type": "text/plain; charset=utf-8"});
response.write("ハロー ワールド");
response.end();
}
http.createServer(onRequest).listen(8888);
console.log("サーバー動作開始");
実行
$ node server001.js
実行結果
Webブラウザでhttp://raspberrypi:8888を開くとコンソールは
$ node server001.js
サーバー動作開始
リクエストを受け取りました
リクエストを受け取りました
「サーバー動作開始」が先に表示され、イベント駆動の非同期サーバサイドJavaScriptでのコールバックがうまく動いていることが分かる。
尚、「リクエストを受け取りました」が2回出ているのはブラウザが/faviconもロードしようとするため。
サーバモジュールの分離
index002.jsからserver002.jsのサーバモジュールを呼び出すように変更。
server002.jsの作成
var http = require("http");
function start() {
function onRequest(request, response) {
console.log("Request received.");
response.writeHead(200, {"Content-Type": "text/plain; charset=utf-8"});
response.write("ハロー ワールド");
response.end();
}
http.createServer(onRequest).listen(8888);
console.log("サーバー動作開始");
}
exports.start = start;
index002.jsの作成
var server = require("./server002");
server.start();
実行
$ node index002.js