次の方法で共有


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 モジュールを使用して新しいアプリケーションを作成します。これにより、Node.js Web アプリケーションを作成するためのモデルView-Control フレームワークが提供されます。

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

Azure で Welcome to Express を表示する Web ブラウザー

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

このセクションを適切に実行するには、正常に動作している 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
    

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

Express のインストール

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

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

    次のスクリーンショットは npm コマンドの出力を示しています。 出力は似たものになるはずです。

    npm install express コマンドの出力を表示する Windows PowerShell。

  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 を変更して、次の行から '.' 文字のいずれかを削除します。

    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 in Azure" というメッセージが表示されるようにビューを変更します。

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

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

    index.jade ファイルの内容。

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

  2. Azure に追加して、テキストの最後の行を変更します。

    index.jade ファイル。最後の行は p Azure の #{title} へようこそ

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

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

    ブラウザー ウィンドウ。このページには Azure での Express へようこそが含まれています

アプリケーションをテストした後、 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 デベロッパー センターを参照してください。