Menu
CoddyTech

Konfiguration

Teil des Abschnitts REST-APIs der Node.js-Journey von Coddy. Lektion 23 von 25.

Auf deinem Laptop lauscht der Server auf Port 3000. Ein Hostingdienst startet ihn mit node server.js und wählt den Port selbst aus, indem er ihn in der Umgebung als PORT übergibt. Der Host ruft außerdem hin und wieder eine Route wie GET /health auf und startet den Server neu, wenn dieser nicht mehr reagiert.

// MAX_UPLOAD_MB=5 node server.js
const maxUpload = Number(process.env.MAX_UPLOAD_MB ?? 2);
const shopName = process.env.SHOP_NAME ?? 'My Shop';

Jeder Wert in process.env ist eine Zeichenkette, und '5' + 1 ergibt '51', also wandle Zahlen mit Number um. Lies die Einstellungen in einer Datei, config.js, ein und importiere sie überall sonst, damit nichts anderes process.env verwendet.

challenge icon

Aufgabe

Einfach

Bei einem Hosting-Dienst wählt der Host den Port aus und übergibt deinem Server die Einstellungen über die Umgebung. Lies deine Einstellungen an einer zentralen Stelle aus der Umgebung und füge eine Route hinzu, die der Host aufrufen kann, um zu prüfen, ob der Server läuft.

  1. Lies in config.js port aus der Umgebungsvariable PORT und pageSize aus PAGE_SIZE. Beide werden als Text übergeben, wandle sie also in Zahlen um. Wenn eine Variable fehlt, behalte die heutigen Werte bei: 3000 und 10.
  2. Importiere in server.js config. Starte den Server auf config.port und gib den verwendeten Port aus. Bei PORT=8080 zeigt die Konsole genau Folgendes an:
    Task tracker API on port 8080
  3. Importiere in routes/tasks.js ebenfalls config. In der Listenroute wird bei einer Anfrage ohne ?limit= statt 10 config.pageSize verwendet. Ein ?limit= in der Anfrage hat weiterhin Vorrang.
  4. Füge in server.js außerhalb des Aufgaben-Routers GET /health hinzu. Die Route gibt Status 200 und genau Folgendes zurück:
    { "status": "ok" }

Diese Lektion läuft mit PORT=8080 und PAGE_SIZE=2.

Probier es aus: Drücke auf „Spielen“, und die Konsole gibt Task tracker API on port 8080 aus. GET /api/v1/tasks gibt 2 Aufgaben mit "total": 3 und "pages": 2 zurück. GET /api/v1/tasks?limit=3 gibt alle 3 zurück. GET /health gibt { "status": "ok" } zurück.

Probier es selbst

// Die Einstellungen, die sich zwischen deinem Laptop und einem Server unterscheiden.
// Lies jede Einstellung aus process.env und behalte diese Werte als Standardwerte bei.
export const config = {
    port: 3000,
    pageSize: 10,
};
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in REST-APIs

Übe selbstständig: Express-Playground