次の方法で共有


Express を使用して Node.js Web アプリケーションをビルドし、Azure Cloud Services (クラシック) にデプロイする

重要

Cloud Services (クラシック) は、2024 年 9 月 1 日をもって、すべてのお客様に対して非推奨になりました。 既存の実行中のデプロイはすべて Microsoft によって停止およびシャットダウンされ、2024 年 10 月以降、データは永久に失われます。 新しいデプロイでは、新しい Azure Resource Manager ベースのデプロイ モデル、 Azure Cloud Services (延長サポート) を使用してください。

node.js には、コア ランタイムの最小限の機能セットが含まれます。 多くの場合、開発者は Node.js アプリケーションを開発するときに、Microsoft 以外のモジュールを使用して追加機能を提供します。 このチュートリアルでは、Express モジュールを使用して新しいアプリケーションを作成します。Express モジュールは、Node.js Web アプリケーションを作成するための Model-View-Control (MVC) フレームワークを提供します。

次に示すのは完成したアプリケーションのスクリーンショットです。

クラウド サービス プロジェクトの作成

Note

このセクションを適切に実行するには、正常に動作している Node.js のインストールと、ご利用のプラットフォーム用の Azure SDK for Node.js が必要です。

次の手順を実行して、expressapp という名前の新しいクラウド サービス プロジェクトを作成します。

  1. [スタート] メニューまたはスタート画面で、Windows PowerShell を検索します。 最後に、 [Windows PowerShell] を右クリックし、 [管理者として実行] を選択します。

    Azure PowerShell アイコン

  2. c:\node ディレクトリに移動し、次のコマンドを入力して expressapp という名前の新しいソリューションと WebRole1 という名前の Web ロールを作成します。

    PS C:\node> New-AzureServiceProject expressapp
    PS C:\Node\expressapp> Add-AzureNodeWebRole
    PS C:\Node\expressapp> Set-AzureServiceProjectRole WebRole1 Node 0.10.21
    

    Note

    既定では、Add-AzureNodeWebRole は以前のバージョンの Node.js を使用します。 上記の Set-AzureServiceProjectRole の行は v0.10.21 の Node.js を使用するよう Azure に指示します。 パラメーターには大文字と小文字の区別があることに注意してください。 Node.js の正しいバージョンが選択されていることを検証できます。このためには、WebRole1\package.jsonengines プロパティを確認します。

Express のインストール

  1. 次のコマンドを発行して Express ジェネレーターをインストールします。

    PS C:\node\expressapp> npm install express-generator -g
    

    次のスクリーンショットは npm コマンドの出力を示しています。 出力は次のようになります。

    Windows PowerShell での npm install express コマンドの出力の表示

  2. WebRole1 ディレクトリに移動し、express コマンドを使用して新しいアプリケーションを生成します。

    PS C:\node\expressapp\WebRole1> express
    

    続行するには、以前のアプリケーションを上書きするように求められたときに「y」または「はい」を入力します。 Express によって、app.js ファイルと、アプリケーションを構築するためのフォルダー構造が生成されます。

    express コマンドの出力

  3. package.json ファイルに定義された他の依存関係をインストールするには、次のコマンドを入力します。

    PS C:\node\expressapp\WebRole1> npm install
    

    npm install コマンドの出力

  4. 次のコマンドを使用して、bin/www ファイルを server.js にコピーします。 このステップにより、クラウド サービスがこのアプリケーションのエントリ ポイントを見つけられるようになります。

    PS C:\node\expressapp\WebRole1> copy bin/www server.js
    

    このコマンドが完了すると、WebRole1 ディレクトリ内に server.js ファイルが作成されています。

  5. server.js を変更して、次の行から '.' 文字を 1 つ削除します。

    var app = require('../app');
    

    この変更を行うと、行は次のようになります。

    var app = require('./app');
    

    ファイルを必要なアプリケーション ファイルと同じディレクトリに移動しているため (前は bin/www)、この変更が必要です。 この変更を行った後、 server.js ファイルを保存します。

  6. 次のコマンドを使用して、アプリケーションを Microsoft Azure エミュレーターで実行します。

    PS C:\node\expressapp\WebRole1> Start-AzureEmulator -launch
    

    Welcome to Express メッセージを含む Web ページ

ビューの変更

次に、"Welcome to Express in Azure" というメッセージが表示されるようにビューを変更します。

  1. 次のコマンドを入力して、index.jade ファイルを開きます。

    PS C:\node\expressapp\WebRole1> notepad views/index.jade
    

    index.jade ファイルの内容

    Jade は Express アプリケーションで使用される既定のビュー エンジンです。

  2. テキストの最後の行に in Azureを追加します。

    index.jade ファイル。最後の行には

  3. ファイルを保存して、メモ帳を終了します。

  4. 変更を確認するには、ブラウザーを最新の情報に更新します。

    ブラウザー ウィンドウで

アプリケーションのテストが終了したら、 Stop-AzureEmulator コマンドレットを使用してエミュレーターを停止します。

Azure にアプリケーションをデプロイする

Azure PowerShell ウィンドウで、 Publish-AzureServiceProject コマンドレットを使用してアプリケーションをクラウド サービスにデプロイします。

PS C:\node\expressapp\WebRole1> Publish-AzureServiceProject -ServiceName myexpressapp -Location "East US" -Launch

デプロイ操作が完了すると、ブラウザーが開き、Web ページが表示されます。

Express ページを表示している Web ブラウザー。URL は、ページが Azure でホストされていることを示しています。

次のステップ

詳細については、 Node.js デベロッパー センターを参照してください。