43
45

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Node.jsを使ってみた

Last updated at Posted at 2015-11-03

直近の案件で初めてNode.jsを利用したので導入からHelloworld作成までをまとめたいと思います。

#Node.jsとは
node01.png

  • サーバーサイドのJavaScript実行環境

  • 非同期処理を行えるためDBからの結果を待たずに処理できたりする。

  • シングルスレッドで動作する
     Node.jsではI/O処理をブロックされないためデットロックが発生しない。よって多数の同時接続を処理することが可能となる。

  • Google Chrome用JavaScript実行エンジン(V8)で動作させると早い

  • イベントループ
    リクエストやコールバックはイベントとして扱い処理が終わった際に次のイベントを処理するように動作する

#導入環境

  • Mac OS 10.11

#環境構築
今回は、nodebrewという、node.jsのバージョン管理ツールを利用して導入する手順を説明したいと思います。

1.ターミナルを起動する。
2.nodeblewをインストールする

Commnad
$ curl -L git.io/nodebrew | perl - setup

3.bashrc等の設定ファイルに以下を加えてパスを通してください.

Commnad
$ vi ~/.bash_profile
$ export PATH=$HOME/.nodebrew/current/bin:$PATH

4.反映して、バージョン表示で問題なくパスが通っていることを確認する

Commnad
$ source ~/.bash_profile
$ nodebrew -v

5.最新のnode.jsを確認する

Commnad
$ nodebrew ls-remote

そしたら以下のように表示されます。
node.jsは2番目の数値が偶数なのが安定板、奇数なのが開発版のようです。

スクリーンショット 2015-11-03 16.57.51.png

6.安定版をインストールする。
今回は、v0.12.7をインストールします。

  • バージョンを指定する場合
Commnad
$ nodebrew install-binary 0.12.7

スクリーンショット 2015-11-03 17.18.20.png

  • 最新の安定版をインストールする場合
Commnad
$ nodebrew install stable

7.利用するnodeのバージョンを指定する。

Commnad
$ nodebrew use v0.12.7
$ node -v

スクリーンショット 2015-11-03 17.20.40.png

ただし、ターミナル再起動で毎回設定しないといけないので、bashscにいかのように記述しておくことで都度設定しなくても済みます。

Commnad
vi ~/.bash_profile


export PATH=$HOME/.nodebrew/current/bin:$PATH

先ほど追加した上記行を以下に書き換えてください

if [[ -f ~/.nodebrew/nodebrew ]]; then
    export PATH=$HOME/.nodebrew/current/bin:$PATH
    nodebrew use v0.12.7
fi

#その他のコマンド

  • インストールされているversionの一覧もcommandで確認する場合
Commnad
$ nodebrew ls

スクリーンショット 2015-11-03 17.23.19.png

#Node.jsの動作確認
##対話環境でhello worldしてみる
Nodeを起動し、簡単なコンソールログを埋め込んで実行してみましょう
コンソールでnodeコマンドを入力すると、REPL(Read eval print loop:対話的実行環境)が起動し、対話的にJavaScriptコードを記述して、その都度結果を確認することが可能のようです。便利ですね。
console.log自体は何も返さないので、評価結果はundefinedになります。

Commnad
$ node # 対話環境を立ち上げる
> console.log("hello world");
hello world
undefined
> .help # 使えるコマンドを参照できます
> .exit # 対話環境から抜ける

スクリーンショット 2015-11-03 17.32.16.png

#ファイルからの実行
1.任意のディレクトリに以下のjsファイルを配置しておく

app.js
var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(3000);

console.log('Server running at http://localhost:3000/');

2.実行する

Commnad
$ node /<path>/app.js

以下のようにサーバーが立ち上がったら成功
スクリーンショット 2015-11-03 17.48.09.png

3ブラウザを起動してアクセスしてHellow Worldと表示されれば成功です。

http://localhost:3000/

スクリーンショット 2015-11-03 17.49.53.png

#まとめ
・nodebrewを使うと簡単に導入できました。
・REPLを使うことで簡単なjavascriptをかけるので簡単な処理を書くのであれば即座に確認できるので便利ですね。
・node.jsは実行環境がブラウザでないため、WindowやDOMに関する命令は使えないようです。そりゃそうだ

#参考サイト
http://nodejs.org/
http://gihyo.jp/dev/serial/01/nodejs/0001
http://expressjs.com/ja/starter/hello-world.html

43
45
1

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
43
45

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?