#この記事について
対象
対象:IT初心者「しょぼん君」
説明
▶︎ 初心者向け、イメージを掴むキッカケになることが目的の記事
▶︎ 砕いた理解で、一部正確ではない場合があります。
しょぼん君のぼやき
しょぼん君:『サーバーどーん!ウェブページばーん!ってしたい。』
#Node.jsとは
Node.jsはサーバーサイドのJavaScript実行環境です。
しょぼん君:『JavaScriptで書いたコードでサーバー側の処理が動いちゃうんだね。』
#Node.jsのインストール と バージョン管理
導入方法は色々あるかと思いますが、今回は以下3ステップです。
1.Homebrewのインストール(Mac用のパッケージマネージャ)
2.Homebrew で nodebrewのインストール(Node.jsのバージョン管理ツール)
3.nodebrew で Node.jsのインストール
####1.Homebrewのインストール(Mac用のパッケージマネージャー)
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew -v
####2.nodebrewのインストール(Node.jsのバージョン管理ツール)
$ brew install nodebrew
$ nodebrew -v
バージョン確認が出来ない。そんな時は、.bash_profile等にパスを追加してみて下さい。
$ export PATH=$HOME/.nodebrew/current/bin:$PATH
$ source ~/.bash_profile
今回の本質ではありませんが、パスの追加について気になる方は以下で記事を書いているので、よければ参照して下さい。
▶︎ 初心者がパスを通す(´・ω・`)
####3.Node.jsのインストール
$ nodebrew install-binary latest
※任意のバージョンをインストールすることも可能です。
$ nodebrew ls-remote
$ nodebrew install-binary {version}
$ nodebrew use {version}
しょぼん君:『Node.jsはバージョンが違うと動かないこともあるらしいな。人のコードで実行することもあるだろうし管理できると便利そうだね』
#Node.jsでJavaScriptファイルを実行してみよう
hello.js(JavaScriptのファイル)を作成
※console.log は標準出力に文字列を出力するJavaScriptのコマンドです。
console.log("hello");
$ node hello.js
しょぼん君:『Node.js で JavaScriptファイルを実行できることを確認できたね。』
#Node.jsのモジュール
Node.js はインストールした時点で使える基本モジュールが用意されています。
モジュールは便利道具箱を沢山持ってるすごいヤツです。モジュール内の便利道具箱(オブジェクト)の便利道具(メソッド)を利用するには、require関数を使用して読み込む必要があります。
しょぼん君:『ドラ○えもんがモジュールで、ポケットがオブジェクト、秘密道具はメソッド。ん、でもドラ○えもんとポケットって...(ry』
よしたまえ、ドラ○えもんの悪口はそこまでだ。
#Node.jsでWebサーバーを立ててみよう
今回は、以下のモジュールを使ってみます。
・httpモジュール(通信系の便利ツールをまとめたもの)
コード内でやることは以下3ステップ。
①. httpモジュールを読み込む
②. httpから、サーバーのオブジェクトを作る
③. サーバーオブジェクトを待ち受け状態にする
//①
/* requireでhttpオブジェクトを読み込む*/
var http = require('http');
//②
/* httpオブジェクトのcreateServerメソッドを使って、変数「server」を「http.server」オブジェクトとする。*/
var server = http.createServer(
function (request, response) {
response.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
response.write('<h1>ウェブページばーん!</h1>');
response.end();
});
//③
/* http.serverオブジェクトのlistenメソッドを呼び出して、ポートを指定し待ち受け状態にしている。 */
server.listen(3000);
console.log('サーバーどーん!');
しょぼん君:『秘密道具 http.createServer によって変数はserverは「http.serverオブジェクト」となったのだった・・・』
$ node server.js
以下URLにアクセスをして確認してみましょう。
http://127.0.0.1:3000