ダウンロード サンプルファイル (2.8 KB)
Expressフレームワーク
前ページでざっと標準のHTTPモジュールを解説しましたが、標準モジュールのみで処理を行おうとすると、かなり煩雑な処理を記述する必要があります。これを補うために、Node.jsでは便利なライブラリやフレームワークなどが公開されており、ノードパッケージマネージャー(以下、npm)という仕組みで手軽にインストールできます。npmは、PerlやRubyで言うCPANやRubyGems相当のものと考えていただければよいでしょう。
ここでは、npmの利用例として、WebフレームワークであるExpressのインストールから実行までの方法を説明します。
インストール
Windows Azure上で実行できるようにするため、以下の手順にしたがって、新しいサービスとWebロールを追加していきます。
[1]サービスとWebロールを作成する
はじめにWindows Azureサービスと、Webロールを1つ作成します(リスト9)。
PS C:\node> New-AzureService express ... PS C:\node\express> Add-AzureNode WebRole1
[2] Expressをインストールする
WebRole1フォルダに移動し、npmコマンドを実行します。第2引数のinstallは文字通りインストールを指示し、第3引数はパッケージ名を指定します(リスト10)。カレントディレクトリのnode_modulesフォルダにパッケージがインストールされます。
PS C:\node\experss> cd WebRole1 PS C:\node\express\WebRole1> npm install express
インストールの結果は、図3の通りです。
[3]Expressの設定をする
Expressは複数のテンプレートエンジン(注1)を利用できますが、ここではEJS(Embedded JavaScript)を選択します。.\node_modules\.bin\expressコマンドを実行します(リスト11)。
PS C:\node\express\WebRole1> .\node_modules\.bin\express -t ejs
Haml/Jade/EJS/CoffeKup/jQuery Templates をサポートしています。詳細は、Expressのページを参照してください。
コマンドを実行すると必要なリソースが追加されます(図4)。
引き続き、npm installコマンドを再度実行し、依存関係のあるパッケージを追加インストールします(リスト12)。
PS C:\node\express\WebRole1> npm install
Windows Azureでの実行
前項までの設定を行うと、「node.exe app.js」とコマンドライン上から実行できますが、Windows Azure上で実行するためにはさらに修正が必要です。
[4]Windows Azure向けの設定をする
Windows Azureで実行できるように、app.jsをserver.jsにリネームします(リスト13)。
PS C:\node\express\WebRole1> mv .\server.js .\server.js.old PS C:\node\express\WebRole1> mv .\app.js server.js
Windows Azureで実行する場合は、port環境変数でリッスンポートが渡されるため、server.jsの最後の部分をリスト14のように修正します。
var port = process.env.port || 3000;
http.createServer(app).listen(port);
console.log("Express server listening on port " + port);
[5]エミュレーターでの実行
Start-AzureEmulator -Launchコマンドレットでエミュレーターを起動します。図5のとおり表示されれば正しく実行できています。
ほかにも、便利なライブラリなどが公開されています。パッケージは、npm registryから検索できます。
まとめ
今回はHTTPサーバの基本機能と、npmによるパッケージのインストールについて紹介しました。ここで説明した機能はほんの一例で、ほかにもさまざまな書き方が可能となっており、紹介しきれない機能も多々あります。興味を持たれた方は、さらにNode.jsのオンラインドキュメントや他の文献を読み進んでいただければ幸いです。
2回のNode.jsの基本機能を経たので、次回はWindows Azureの操作について解説したいと思います。
この記事は参考になりましたか?
既に会員の方はを行ってください。
- Windows Azure新機能チュートリアル連載記事一覧
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト statemachine(statemachine)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
