にわとりプログラマーの備忘録

覚えたことをすぐ忘れてしまう、自分のための備忘録ブログです。

Node.jsでHello World

node.jsでHello World をするまでの自分用のまとめです。

実行環境

OS : OS X El Capitan

node.jsのインストール

1. node.jsの公式ページからインストーラーをダウンロード
f:id:t-yng:20151106122029p:plain

2. インストーラーを実行して、node.jsをインストールします

動作確認

ターミナルで以下のコマンドを入力して、バージョンが表示されれば無事インストールは完了しています。

$ node -v
v4.2.2

実際にHello Worldを表示してみる

では実際にコードを書いて、"Hello World"を表示してみましょう

1. 最初にプロジェクト用のディレクトリ生成をします

$ mkdir helloworld


2. ディレクトリに移動して、helloworld.jsというファイルを作成してください。

$ cd helloworld
$ touch helloworld.js


3. helloworld.jsに以下のコードを記述

var http = require('http');
 
var server = http.createServer();
server.on('request', doRequest);
server.listen(3000);
console.log('Server running!');
 
// リクエストの処理
function doRequest(req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.write('Hello World\n');
    res.end();
}


4. 以下のコマンドを入力して、スクリプトを実行します

$ node helloworld.js


5. ブラウザから "http://localhost:3000""にアクセスして、 "Hello World" と表示されれば成功です。
f:id:t-yng:20151106124511p:plain

node.jsのフレームワーク"express"を利用してみる

1. プロジェクトを作成して、カレントディレクトリに移動する

$ mkdir hello-express
$ cd hello-express


2. 以下のコマンドを入力して、"express"をインストールします
カレントディレクトリにnode_modules/expressディレクトリが新たに生成されます。

$ npm install express
express@4.13.3 node_modules/express
├── escape-html@1.0.2
├── merge-descriptors@1.0.0
├── array-flatten@1.1.1
├── cookie@0.1.3
├── utils-merge@1.0.0
├── cookie-signature@1.0.6
├── content-type@1.0.1
├── methods@1.1.1
├── vary@1.0.1
├── range-parser@1.0.3
├── serve-static@1.10.0
├── fresh@0.3.0
├── path-to-regexp@0.1.7
├── content-disposition@0.5.0
├── etag@1.7.0
├── parseurl@1.3.0
├── depd@1.0.1
├── qs@4.0.0
├── debug@2.2.0 (ms@0.7.1)
├── finalhandler@0.4.0 (unpipe@1.0.0)
├── on-finished@2.3.0 (ee-first@1.1.1)
├── send@0.13.0 (destroy@1.0.3, statuses@1.2.1, ms@0.7.1, mime@1.3.4, http-errors@1.3.1)
├── accepts@1.2.13 (negotiator@0.5.3, mime-types@2.1.7)
├── type-is@1.6.9 (media-typer@0.3.0, mime-types@2.1.7)
└── proxy-addr@1.0.8 (forwarded@0.1.0, ipaddr.js@1.0.1)


3. moduleのローカルインストールとグローバルインストールについて

  • ローカルインストール

カレントディレクトリのnode_modules/ にモジュールがインストールされます。
ローカルインストールされたモジュールはそのプロジェクトからのみ参照ができます。

  • グローバルインストール

-g オプションを付けた場合は、グローバルインストールになります。
/usr/local/lib/node_modules/ にインストールされました。グローバルインストールされたモジュールは全てのプロジェクトから参照できます。

$ sudo npm install -g express
Password:
express@4.13.3 /usr/local/lib/node_modules/express
├── escape-html@1.0.2
├── array-flatten@1.1.1
├── merge-descriptors@1.0.0
├── cookie@0.1.3
├── cookie-signature@1.0.6
├── utils-merge@1.0.0
├── etag@1.7.0
├── vary@1.0.1
├── content-disposition@0.5.0
├── methods@1.1.1
├── content-type@1.0.1
├── range-parser@1.0.3
├── fresh@0.3.0
├── path-to-regexp@0.1.7
├── serve-static@1.10.0
├── parseurl@1.3.0
├── depd@1.0.1
├── qs@4.0.0
├── on-finished@2.3.0 (ee-first@1.1.1)
├── finalhandler@0.4.0 (unpipe@1.0.0)
├── debug@2.2.0 (ms@0.7.1)
├── proxy-addr@1.0.8 (forwarded@0.1.0, ipaddr.js@1.0.1)
├── type-is@1.6.9 (media-typer@0.3.0, mime-types@2.1.7)
├── accepts@1.2.13 (negotiator@0.5.3, mime-types@2.1.7)
└── send@0.13.0 (destroy@1.0.3, statuses@1.2.1, ms@0.7.1, mime@1.3.4, http-errors@1.3.1)


4. "hello-express.js"というファイルを作成して、以下のコードを記述します

var express = require('express');
var app = express();

app.get('/', function(req, res){
	res.send('Hello Express');
})

var server = app.listen(3000, function(){
	console.log('Server is running!');
})


5. ブラウザから"http://localhost:300"にアクセスして確認してみる
f:id:t-yng:20151106130846p:plain