Konfiguration von JavaScript-Anwendungen: Die Bibliothek config

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Was ist die config-Bibliothek?

Die Bibliothek config ist ein beliebtes Modul für Node.js, das zur Verwaltung von Anwendungskonfigurationen entwickelt wurde. Sie ermöglicht es, Einstellungen in separaten Dateien (JSON, YAML, JS) zu speichern und diese automatisch basierend auf der Umgebung (development, production, staging) zu laden. Dies erspart die Notwendigkeit, Parameter wie API-Schlüssel, Server-Ports oder Datenbankverbindungsstrings fest zu codieren.

Wofür wird sie benötigt?

In realen Projekten ändert sich die Konfiguration oft: Lokal verwenden Sie eine Datenbank-URL, auf dem Server eine andere. Ohne das Modul config müssten Sie Variablen manuell ändern oder komplexe Konstrukte mit process.env verwenden. Die Bibliothek vereinfacht diesen Prozess: Sie wählt automatisch die Datei basierend auf der Umgebungsvariable NODE_ENV aus (z. B. development.json oder production.json).

Wie installiert man es?

Installieren Sie das Modul über npm:

npm install config

Hauptfunktionen

  • Automatische Umgebungserkennung: Standardmäßig sucht es nach der Datei default.json, dann nach {NODE_ENV}.json.
  • Formatunterstützung: JSON, YAML, JS, TOML.
  • Tiefe Verschachtelung: Zugriff auf verschachtelte Felder über Punkte (config.get('database.host')).
  • Sicherheit: Sensible Daten (Passwörter) können über Umgebungsvariablen versteckt werden.

JavaScript-Codebeispiel (Node.js)

Erstellen Sie eine Ordnerstruktur:

project/
├── config/
│ ├── default.json
│ └── production.json
├── app.js
└── package.json

config/default.json:

{
"server": {
"port": 3000
},
"database": {
"host": "localhost",
"port": 5432
}
}

config/production.json:

{
"server": {
"port": 80
},
"database": {
"host": "prod-db.example.com"
}
}

app.js:

const config = require('config');

// Server-Port abrufen
const port = config.get('server.port');

// Datenbank-Host abrufen
const dbHost = config.get('database.host');

console.log(`Server running on port ${port}`);
console.log(`Database host: ${dbHost}`);

// Server starten
const http = require('http');
http.createServer((req, res) => {
res.end('Hello World');
}).listen(port);

Starten Sie mit verschiedenen Umgebungen:

# Standardmäßig (development)
node app.js
# Server running on port 3000

# Production
NODE_ENV=production node app.js
# Server running on port 80

Wann verwenden?

Die Bibliothek config ist ideal für mittlere und große Node.js-Anwendungen, bei denen eine Aufteilung der Einstellungen nach Umgebungen erforderlich ist. Sie ist unverzichtbar beim Deployment auf mehrere Server, in einer Microservice-Architektur und bei der Arbeit mit vertraulichen Daten (über Umgebungsvariablen). Für kleine Projekte oder Skripte kann man mit einfachem process.env auskommen, aber config macht den Code sauberer und skalierbarer.

Empfehlungen