Webdienst mit Node.js schreiben

In diesem Leitfaden wird beschrieben, wie Sie einen Webdienst mit Node.js zur Ausführung in der App Engine-Standardumgebung schreiben. Weitere Informationen zur Node.js-Laufzeit und ihrer Funktionsweise finden Sie unter Node.js-Laufzeitumgebung.

Vorbereitung

Wichtige Fakten

  • Sie können Abhängigkeiten verwenden, nehmen Sie diese bei Bedarf in die Datei package.json auf. Weitere Informationen finden Sie unter Abhängigkeiten angeben.
  • App Engine startet Ihre Anwendung durch Ausführen von npm start.
  • Ihr Server muss den Port überwachen, der durch process.env.PORT angegeben wird, eine Umgebungsvariable, die von der App Engine-Laufzeit festgelegt wird.
  • Sie benötigen eine Datei app.yaml, um Ihren Dienst in App Engine bereitzustellen.

Server zur Überwachung von HTTP-Anfragen erstellen

Der HTTP-Server bildet den Kern Ihres Webdienstes. Der Beispielcode in diesem Leitfaden verwendet zur Verarbeitung von HTTP-Anfragen das Framework Express.js. Sie können jedoch ein Web-Framework Ihrer Wahl einsetzen.

  1. Erstellen Sie einen neuen Ordner mit dem Namen my-nodejs-service für Ihren Node.js-Dienst.

  2. Wechseln Sie zu dem Ordner in Ihrem Terminal und erstellen Sie eine Datei package.json durch Ausführen von npm init.

  3. Fügen Sie Express als Abhängigkeit hinzu, indem Sie Folgendes ausführen:

    npm install express
    

    Prüfen Sie, ob Express im Feld package.json der Datei dependencies angezeigt wird. Beispiel:

    {
      ...
      "dependencies": {
        "express": "^4.16.3"
      }
      ...
    }
    
  4. Fügen Sie der Datei package.json ein start-Skript hinzu:

    "scripts": {
      "start": "node server.js"
    }
    
  5. Erstellen Sie im selben Ordner eine Datei mit dem Namen server.js und fügen Sie folgenden Code hinzu:

    const express = require('express');
    const app = express();
    
    app.get('/', (req, res) => {
      res.send('Hello from App Engine!');
    });
    
    // Listen to the App Engine-specified port, or 8080 otherwise
    const PORT = process.env.PORT || 8080;
    app.listen(PORT, () => {
      console.log(`Server listening on port ${PORT}...`);
    });

Dies ist ein sehr einfacher Webserver. Er antwortet auf alle GET-Anfragen an den Stammpfad ('/') mit dem Text "Hello from App Engine!" Beachten Sie die letzten vier Zeilen. Damit wird festgelegt, dass der Server den Port überwacht, der mit process.env.PORT angegeben wurde. Dies ist eine von der App Engine-Laufzeit festgelegte Umgebungsvariable. Wenn diese Anweisung fehlt, empfängt der Server keine Anfragen.

Ist process.env.PORT nicht angegeben, wird standardmäßig Port 8080 verwendet. Dies ist für das lokale Testen Ihrer Anwendung erforderlich, da process.env.PORT bei lokalen Ausführungen nicht festgelegt wird. Sie wird nur angegeben, wenn Ihre Anwendung in App Engine ausgeführt wird. Für das Testen können Sie einen beliebigen Port nutzen. In diesem Leitfaden wird 8080 verwendet.

Server lokal ausführen

So führen Sie den Server lokal aus:

  1. Führen Sie dazu im Terminal npm start aus. Damit wird die Datei server.js ausgeführt.

  2. Öffnen Sie http://localhost:8080 in Ihrem Webbrowser.

Sie sollten eine Seite mit dem Text "Hello from App Engine!" sehen.

app.yaml-Datei erstellen

In der Datei app.yaml sind die Einstellungen für die Laufzeitumgebung des App Engine-Dienstes definiert. Ohne diese Datei lässt sich der Dienst nicht bereitstellen.

  1. Erstellen Sie im Ordner my-nodejs-service eine Datei mit dem Namen app.yaml.

  2. Fügen Sie den folgenden Inhalt hinzu:

    runtime: nodejs20

    Dies ist eine minimale Konfigurationsdatei, die für App Engine die Version der Node.js-Laufzeit angibt. In der Datei app.yaml können auch Netzwerk- und Skalierungseinstellungen festgelegt werden. Weitere Informationen finden Sie in der app.yaml-Referenz.

Die Dateistruktur sollte jetzt etwa so aussehen:

  my-nodejs-service/
  app.yaml
  package.json
  server.js

Tipp

Sie haben jetzt einen einfachen Node.js-Webserver erstellt, der den richtigen Port überwacht, und Sie haben die Laufzeit in der Datei app.yaml angegeben. Als Nächstes können Sie den Dienst in App Engine bereitstellen.

Jetzt testen

Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie einfach ein Konto, um die Leistungsfähigkeit von App Engine in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.

App Engine kostenlos testen