techhubjp2011 Node.js 入門 (1/3)

Node.js って?

”Node's goal is to provide an easy way to build scalable network programs.” - Node.js 公式サイトより抜粋

もう少し深く知りたけれれば、bad_at_math さんの 「Node.js とはなにか」や、Ryan の東京Node学園祭2011の資料を読んでください

JavaScript とは言っても・・・

クライアントサイドの知識が流用できる?

ドキュメント

公式ドキュメント

日本語の情報

ハンズオン

  1. Node.js/npm のインストール (Mac)

  2. Node.js/npm のインストール (Windows)

  3. Hello World

  4. テスト

補足

Node.js (node コマンド)

Node実行バイナリ。ruby, perl, python コマンドと同じ位置づけ

NPM (npm こまんど)

Node Package Manager。rubyのgem, perlのcpan, pythonのpip/easy_install コマンドと同じ位置づけ

Node.js のインストール (Mac)

  1. XCode 4.2 のインストール

  2. wget, git のインストール

    $ brew install wget git

  3. nvm(Node Version Manager)のインストール

    $ git clone git://github.com/creationix/nvm.git ~/.nvm
    $ source ~/.nvm/nvm.sh

  4. Node.js のインストール

    $ nvm install v0.6.3

    Node.js のソースコードのダウンロード、ビルド、npmのダウンロード、インストール、PATH の設定をやってくれる

  5. 確認

    $ node -v
    v0.6.3
    $ npm -v
    1.1.0-alpha2

参考: Node.jsとnvmを初めてインストールするときのハマりポイントと対策

Node.js のインストール (Win)

  1. git のインストール

    msysgit

  2. python のインストール

    本家Python または ActivePython 2.7 か 3.2 の最新版

  3. nvmw(Node Version Manager for Windows)のインストール

    $ git clone git://github.com/hakobera/nvmw.git "%HOMEDRIVE%%HOMEPATH%\.nvmw"
    set PATH=%PATH%;"%HOMEDRIVE%%HOMEPATH%\.nvmw"

  4. Node.js のインストール

    $ nvmw install v0.6.3

    Node.js の公式バイナリのダウンロード、npmのダウンロード、インストール、PATH の設定をやってくれる

  5. 確認

    $ node -v
    v0.6.3
    $ npm -v
    1.0.106

参考: Node.js と npm のインストール方法(Windows編)

Node.js/npm のインストーラ

Node.js v0.6.3 からは npm を同梱したインストーラ(Win/Mac)が配布されている

面倒ならこれを使っても良い。ただし、現時点ではあまりお勧めしない。

Hello World

ワンライナー

$ node -e "console.log('Hello, world!')"

REPL

$ node
> console.log('Hello, world!');
Hello, world!
undefined

ファイル

$ node app.js

Hello World(HTTP Server 版)

HTTP Client

参考: http - Node.js Manual & Documentation

テスト準備 (1/2)

package.json を書く

必要なモジュールのインストール

$ npm install -d

npmjs.org

テスト準備 (2/2)

テストフレームワークとして、Mocha を利用するのでそのための設定をする

Makefile を書く

これで以下のコマンドでテストが実行できるようになります

$ make test

Mocha - the fun, simple, flexible JavaScript test framework

Hello World(app.js) の書き換え

テストサポートモジュールを作る(test/support/request.js)

テストを書く

参考文献

/

#