y's note

タイトルの通り備忘録なブログ

node.jsに入門 その1 ダウンロードから学習開始まで

久しぶりのまともな記事です。

実は今年の2月にJavaScriptを学習し始めていたんですが、記事に書くほどじゃなかったので書きませんでした。

そんなわけで最近(7月上旬ぐらい)node.jsを知ってやり始めたので、ここまでやったことをメモも兼ねて書いていきます。

あと、長くなりそうなので何回かに分けて書きます。

 

1.node.jsのインストール

.jsと付いているのでjsファイルなのかなと思っていたんですが、exeファイルでした。

自分はインストーラが嫌いなので、「Windows Binary (.exe)」の方をダウンロードしました。(これが少数派だと知ったのはだいぶ後でした)

なお、node.jsはここからダウンロードできます。

http://nodejs.jp/nodejs.org_ja/

 

そして、node.exeを環境変数に追加して、どこでも実行できるようにしました。

 

その後、他のものに興味が移り、一ヶ月ぐらい放置してました。

 

2.学習開始

そんなわけで、一月に渡る放置期間のあと、node.jsを学習し始めました。

まずは「Hello World」を表示するところから始めます。

入門サイトを見ながら、スクリプトを書いていきます。

var http = require('http');
var server = http.createServer();
server.on('request',Request);
server.listen(8080);
console.log('Server Running!');

//リクエストを受けた時の処理
function Request(req,res) {
 res.writeHead(200,{'Content-Type' : 'text/plain'});
 res.write('Hello World');
 res.end();
}

このスクリプトを「server.js」という名前でフォルダに保存します。

(ここでは、フォルダの名前を「nodetest」とします。)

そしてコマンドプロンプトから、

cd desktop\nodetest
node server.js

を実行すると、

Server Running!

コマンドプロンプトの画面に出ます。

そして

http://localhost:8080/をブラウザで開くと、「Hello World」と表示されています。

※node.exeを実行して、その後「server.js」を実行しても何も起きません。
そこで最初つまづきました。

 

上のスクリプトを簡単に解説すると、

まず1行目の

var http = require('http');

で、まず必要なライブラリを読み込みます。

そして2行目の

var server = http.createServer();

で、サーバーを作成します。

3行目の

server.on('request',Request);

 は、リクエストを受けた時に呼び出す関数を指定しています。

4行目の

server.listen(8080);

は、8080番ポートでリクエストを待機するよう指定しています。

5行目の

console.log('Server Running!');

は、server.listenで待ち受けを開始した時にコンソール(コマンドプロンプトの画面)に「Server Running!」と表示するようにしています。

 最後に8~12行目の

function Request(req,res) {
 res.writeHead(200,{'Content-Type' : 'text/plain'});
 res.write('Hello World');
 res.end();
}

は、3行目で指定したリクエストを受けた時の処理です。

res.writeHeadは、ヘッダー部に書き出す内容を指定しています。

res.writeは、ボディ部に書き出す内容を指定しています。

ここでは、「Hello World」ですね。

res.end()でレスポンス処理を終了させます。

 

まあこんな感じです。

ローカルでは上手くいきましたが、ネットに上げるのにかなり苦戦しました。

その話は次回にします。

長くて分かりにくい文章を最後までご覧頂きありがとうございます。

あと、自分自身もまだ初級者(初心者を抜けだし程度)なので至らない点がありますが、ご了承ください。