はじめまして、斎藤です。
JavaScriptというと主にリッチなGUIを実装するためにクライアントサイドで使われる事が多いと思いますが、最近はサーバサイドのプログラミング言語としても注目されています。
今回はサーバサイドJavaScriptの本命と言われている「Node.js」(グーグルが開発したV8エンジン上で実行する環境)に、Webアプリケーションフレームワーク「Express.js」、NoSQLのデータベース「MongoDB」、MongoDB のオブジェクトモデリングツール「mongoose」を使った簡単なWebアプリのサンプルを作成してみました。
本記事ではインストールしてサンプルを動かすところまでを紹介します。
各ツールを用いたプログラミングに関しては、次回以降何回かに分けて紹介します。
インストール
Node.jsはLinux,Windows環境どちらでもインストールできますが、本記事ではWindows環境(Windows8)にインストールする手順を説明します。
■Node.jsのインストール
下記のサイトからインストールボタンを押してインストーラをダウンロードします。
http://nodejs.org/
本記事作成時点の最新バージョンはv0.10.19です。
Windows8(64bit)環境ではデフォルトで下記のフォルダーにインストールされます。
C:\Program Files\nodejs\
PATH環境変数にも、インストールフォルダーが自動的に追加されます。
コマンドラインから nodeコマンドを引数無しで実行することで、REPL(Read-eval-print loop)が起動されます。
Node.jsのREPLについては、下記ののマニュアルを参照してください。
http://nodejs.jp/nodejs.org_ja/docs/v0.10/api/repl.html
では、コマンドプロンプトでNode.jsのREPLを起動してみましょう。
node <= コマンドプロンプトからNode.jsのREPLを起動 console.log('Hello'); <= JavaScriptの実行文
■MongoDBのインストール
MongoDBのサイトからダウンロードします。
http://www.mongodb.org/downloads
本記事作成時点の最新バージョンはVersion2.4.6です。
Windows8(64bit)用に64bit版をダウンロードしました。(mongodb-win32-x86_64-2.4.6 .zip)
解凍して、MongoDBのbinフォルダーをPath環境変数に追加しておきます。
例:C:\Users\saitoh\Desktop\work\mongodb-win32-x86_64-2.4.6\bin
MongoDBのデータベースが格納されるフォルダーは、デフォルトでc:\data\dbです。
MongoDBを起動する前にフォルダーを作成しておきます。
mkdir c:\data\db
mongodコマンドでMongoDBサーバを起動できればOKです。
mongod
■Express.jsとmongooseのインストール
※プロキシを利用している場合は、環境変数HTTP(S)_PROXYを設定しておきます。
set HTTP_PROXY=http://(プロキシサーバアドレス):80/ set HTTPS_PROXY=http://(プロキシサーバアドレス):80/
npmはNode.jsのpackageを管理すためのツールです。
- g オプションによりグローバルな領域にパッケージをインストールすることができます。
npm install express -g
- gオプションを付けた場合、下記のフォルダーにExpress.jsがインストールされます。
C:\Users\(ログインユーザ名)\AppData\Roaming\npm
C:\Users\(ログインユーザ名)\AppData\Roaming\npm\node_modules
次に、アプリをインストールするフォルダーを作成し、expressコマンドでWebアプリの雛形を生成します。
mkdir C:\Users\saitoh\Desktop\work cd C:\Users\saitoh\Desktop\work express -e firstapp
npmコマンドで一つずつパッケージをインストールすることも出来ますが、
package.jsonというファイルにアプリが依存するパッケージを書いておくことにより、全てのパッケージを1回でインストールすることができます。
express -e firstappコマンドによりfirstappフォルダーにpackage.jsonファイルが生成されています。
下記のように、"mongoose":"*"を追加します。
package.jsonのファイル内容(上記で作成したfirstappフォルダーに置く)
{ "name": "firstapp", "version": "0.0.1", "private": true, "scripts": { "start": "node app.js" }, "dependencies": { "express": "3.4.0", "ejs": "*", "mongoose":"*" } }
package.jsonが置かれているフォルダーに移動して、npm install でインストールを行います。
cd C:\Users\saitoh\Desktop\work\firstapp npm install
これで、ローカルにexpress,ejs,mongooseがインストールされました。
ここで、Webサーバを起動してみます。
node app.js
ブラウザから以下のURLをアクセスして下記の画面が表示されればExpress.jsは正常にインストールされています。
http://localhost:3000/
■サンプルプログラムの内容
参考URLを表示・検索・登録・更新・削除するサンプルプログラムです。
登録された参考URLに対して、コメント欄に複数のコメントを追加することが出来ます。
■サンプルプログラムのインストール
サンプルコードはこちらにおいてあります。
firstappフォルダー配下のファイルを上記で作成したfirstappフォルダーに上書きして下さい。
■サンプルプログラムの実行
ブラウザからサンプルを起動します。
http://localhost:3000/
「URL登録」に下記の値を入力し、新規ボタンを押して登録されればOKです。
サイト名:はてなブログ
URL:http://iti.hatenablog.jp/
説明:ITIはてなブログ
登録者:斎藤
評価:1
次に、「はてなブログ」のラジオボタンを選択し、
コメント欄に
名前:山田
コメント:コメント1
と入力し
更にコメント欄に
名前:鈴木
コメント:コメント2
と入力し下記の画面が表示されればOKです。
★今回はここまでとして、次回以降クライアント側(HTML+JavaScript)とサーバ側(Node.js+Express.js+MongoDB+mongoose)のプログラミングに関して説明します。
■参考URL
本記事およびサンプルコードを作成する際に参考にしたサイトです。
Node.js Express.js MongoDB mongooseに関して詳しく書かれています。
基礎から学ぶNode.js
KrdLab's blog Node.js から MongoDB にアクセス (Mongoose の紹介)