LoginSignup
2
3

More than 3 years have passed since last update.

【2分でイメージをつかむ】Node.jsのサーバー起動

Posted at

なんでこれ書いたか

  • 100万回こすられてきた、Node.jsのサーバー起動のイメージを自分のために残したかったから
  • JavaScriptでサーバーサイドを書くというのが、イメージしづらかったから

最初に完成品を

スクリーンショット 2019-05-19 18.02.18.png

※「Hello! World」が相場かと思いますが、私のイメージでは、
このサーバーは野球のキャッチャーです!

キャッチャー.jpeg

続いてソースコード

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!!

おわりに

  • もっといいイメージが湧いたら書き直します

参考

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3