Erstellen und speichern Sie Konfigurationen in Node.js

Isaac Tony 15 Februar 2024
Erstellen und speichern Sie Konfigurationen in Node.js

Die Verwaltung von Konfigurationsdateien kann in Node.js für unerfahrene Entwickler eine entmutigende Aufgabe sein. Es stimmt, obwohl es Bibliotheken wie convict, husks oder config gibt, die die Entwicklung und Verwaltung von Konfigurationsdateien erleichtern.

Eine der bewährten Methoden, die das Speichern und Verwalten von Konfigurationsdateien vereinfachen, ist das Erstellen einer zentralen Datei, die die Dateien speichert und sicherstellt, dass die Dateien geändert werden können, ohne den Code zu beeinträchtigen.

Eine zentralisierte Datei zu haben, die dann auf andere Umgebungen erweitert werden kann, erleichtert anderen Entwicklern das Lesen Ihres Codes und fördert die Wiederverwendbarkeit.

In Node.js werden Konfigurationsdateien normalerweise in einer Standardkonfigurationsdatei gespeichert; Sie können jedoch durch externe Quellen oder Umgebungsvariablen überschrieben und erweitert werden.

Konfigurationsdateien können in verschiedenen Dateiformaten vorliegen; Dazu gehören die gängigen wie .json, YAML und andere wie .json5 oder .hjson.

Installieren Sie node-config zum Erstellen und Speichern von Konfigurationen in Node.js

Node-config ist ein npm-Paket, mit dem wir verschiedene Bereitstellungskonfigurationsdateien erstellen und speichern können. Mit diesem Paket können wir Standardparameter definieren, die sich auf Entwicklungs-, Produktions- oder Staging-Umgebungen erstrecken.

Wir können Node-config mit dem Paketmanager npm installieren und einrichten. Wir müssen jedoch zuerst einen einfachen Express-Server erstellen und dann wie hier gezeigt zum Ordner der Anwendung navigieren.

Beispielanwendungsserver

Sobald der Anwendungsserver vorhanden ist, können wir das Konfigurationspaket installieren, indem wir den folgenden Befehl ausführen.

$ npm install config

Der obige Befehl fügt das Konfigurationspaket als eine unserer Abhängigkeiten in der Datei package.json hinzu, wie unten gezeigt.

{
  'name': 'myapp', 'version': '1.0.0', 'description': '', 'main': 'index.js',
      'scripts': {'test': 'echo "Error: no test specified" && exit 1'},
      'author': 'Isaac Tony', 'license': 'MIT',
      'dependencies': {'config': '^3.3.7', 'express': '^4.17.2'}
}

Wir können jetzt eine Datei erstellen, die alle unsere Standardkonfigurationsdateien enthält, indem wir zuerst einen Ordner erstellen, den wir config nennen, und dann eine Datei namens default.json erstellen, wie in der Anwendungsstruktur unten gezeigt.

App-Struktur

Wie oben gezeigt, haben wir bei der Verwendung von Node-config zwar die Flexibilität bei der Auswahl des Dateityps, in dem unsere Konfigurationen gespeichert werden, aber wir haben uns dafür entschieden, am .json-Format festzuhalten, da es das Standardformat ist.

Jetzt können wir in der Datei default.json unsere Konfigurationseinstellung in unserer Anwendung hinzufügen. Hier sind einige grundlegende Konfigurationen, die wir der Datei default.json hinzufügen können.

{
  'server': {'port': 3000},
      'db': {'host': 'localhost', 'port': 27017, 'name': 'mongodb'}
}

Mit der Funktion config.get können wir nun diese Parameter und Einstellungen abrufen und in unserer Anwendung verwenden, wie in der Datei index.js unten gezeigt.

const express = require('express')
const app = express()

const config = require('config');
const port = config.get('server.port');
const host = config.get('db.host');


app.get('/', (req, res) => {res.send('Hello World!')})

app.listen(
    port, host,
    () => {console.log(`The application is listening on ${host}:${port}`)})

Sobald wir diese Standardkonfigurationsdatei eingerichtet haben, können wir diese Konfigurationseinstellungen problemlos auf Produktion, Tests usw. erweitern, indem wir Konfigurationsdateien für die jeweilige Umgebung erstellen.

Wir können auch umgebungsspezifische Überschreibungen durchführen, indem wir Konfigurationsvariablen in der Standardkonfigurationsdatei in einer anderen umgebungsspezifischen Konfigurationsdatei oder über die Befehlszeile wiederholen, indem wir die Variable NODE-CONFIG erstellen, bevor wir die Anwendung starten.

Autor: Isaac Tony
Isaac Tony avatar Isaac Tony avatar

Isaac Tony is a professional software developer and technical writer fascinated by Tech and productivity. He helps large technical organizations communicate their message clearly through writing.

LinkedIn