Erstellen und Bereitstellen einer Node.js-Webanwendung mit Express in Azure Cloud Services (klassisch)

Wichtig

Cloud Services (klassisch) wurde für neue Kunden nun als veraltet gekennzeichnet und wird am 31. August 2024 für alle Kunden ausgemustert. In neuen Bereitstellungen sollte das neue auf Azure Resource Manager basierende Bereitstellungsmodell für Azure Cloud Services (erweiterter Support) verwendet werden.

Die Core Runtime von Node.js umfasst eine Reihe elementarer Funktionen. Entwickler verwenden bei der Entwicklung einer Node.js-Anwendung häufig Module von Drittanbietern, die über zusätzliche Funktionen verfügen. In diesem Tutorial erstellen Sie eine neue Anwendung mit dem Express-Modul, das ein MVC-Framework zum Erstellen von Node.js-Webanwendungen bereitstellt.

Nachfolgend sehen Sie einen Screenshot der fertigen Anwendung:

A web browser displaying Welcome to Express in Azure

Erstellen eines Cloud-Dienst-Projekts

Hinweis

Zum erfolgreichen Ausführen der Schritte in diesem Abschnitt muss eine funktionierende Installation von Node.js und dem Azure SDK für Node.js für Ihre Plattform vorliegen.

Führen Sie die folgenden Schritte aus, um ein neues Clouddienstprojekt namens expressapp zu erstellen:

  1. Suchen Sie im Startmenü oder auf dem Startbildschirm nach Windows PowerShell. Klicken Sie dann mit der rechten Maustaste auf Windows PowerShell, und wählen Sie Als Administrator ausführen aus.

    Azure PowerShell icon

  2. Ändern Sie das Verzeichnis in c:\node, und geben Sie die folgenden Befehle ein, um eine neue Projektmappe mit dem Namen expressapp und eine Webrolle mit dem Namen WebRole1 zu erstellen:

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

    Hinweis

    Standardmäßig verwendet Add-AzureNodeWebRole eine ältere Version von "Node.js". Die oben stehende Anweisung Set-AzureServiceProjectRole weist Azure an, Node 0.10.21 zu verwenden. Beachten Sie, dass bei Parametern die Groß-/Kleinschreibung relevant ist. Sie können überprüfen, ob die richtige Version von „Node.js“ ausgewählt wurde, indem Sie die engines-Eigenschaft in WebRole1\package.json prüfen.

Installieren von Express

  1. Installieren Sie den Express-Generator mit dem folgenden Befehl:

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

    Die Ausgabe des Befehls npm sollte ungefähr wie folgt aussehen.

    Windows PowerShell displaying the output of the npm install express command.

  2. Ändern Sie das Verzeichnis in WebRole1 , und erzeugen Sie mit dem Befehl express eine neue Anwendung:

    PS C:\node\expressapp\WebRole1> express
    

    Sie werden aufgefordert, die zuvor erstellte Anwendung zu überschreiben. Geben Sie y oder yes ein, um fortzufahren. Express erzeugt die Datei app.js und eine Ordnerstruktur zum Erstellen der Anwendung.

    The output of the express command

  3. Geben Sie den folgenden Befehl ein, um weitere in der Datei package.json definierte Abhängigkeiten zu installieren.

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

    The output of the npm install command

  4. Kopieren Sie mit folgendem Befehl die Datei bin/www nach server.js. Damit kann der Cloud-Dienst den Einstiegspunkt für diese Anwendung finden.

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

    Nach Ausführung dieses Befehls müsste die Datei server.js im Verzeichnis "WebRole1" vorliegen.

  5. Entfernen Sie in server.js eines der '.'-Zeichen aus der folgenden Zeile.

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

    Nach dieser Änderung müsste die Zeile wie folgt aussehen.

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

    Diese Änderung ist erforderlich, da die Datei (ehemals bin/www) in dasselbe Verzeichnis wie die benötigte App-Datei verschoben wurde. Speichern Sie die Datei server.js anschließend.

  6. Verwenden Sie den folgenden Befehl, um die Anwendung im Azure-Emulator auszuführen:

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

    A web page containing welcome to express.

Ändern der Ansicht

Ändern Sie nun die Ansicht, um die Meldung 'Welcome to Express in Azure' anzuzeigen.

  1. Geben Sie den folgenden Befehl ein, um die Datei index.jade zu öffnen:

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

    The contents of the index.jade file.

    Jade ist die Standard-Anzeige-Engine, die von Express-Anwendungen verwendet wird.

  2. Ändern Sie die letzte Textzeile, indem Sie in Azureanhängen.

    The index.jade file, the last line reads: p Welcome to #{title} in Azure

  3. Speichern Sie die Datei, und beenden Sie den Editor.

  4. Wenn Sie den Browser aktualisieren, werden die Änderungen angezeigt.

    A browser window, the page contains Welcome to Express in Azure

Stoppen Sie den Emulator nach dem Testen der Anwendung mit dem Cmdlet Stop-AzureEmulator .

Veröffentlichen der Anwendung in Azure

Verwenden Sie im Fenster von Azure PowerShell das Cmdlet Publish-AzureServiceProject , um die Anwendung in einem Cloud-Dienst bereitzustellen.

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

Sobald die Bereitstellung abgeschlossen ist, wird der Browser geöffnet und die Webseite angezeigt.

A web browser displaying the Express page. The URL indicates it is now hosted on Azure.

Nächste Schritte

Weitere Informationen finden Sie im Node.js Developer Center.