Node.js: Die dotenv-Bibliothek verwenden

Diese Dokumentation ist Teil des Geheimnisse verwalten-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Wie Sie Geheimnisse mit Node.js verwalten.

👋 Willkommen in der Stackhero-Dokumentation!

Stackhero bietet Ihnen eine einsatzbereite Node.js Cloud Umgebung, die darauf ausgelegt ist, Ihre Entwicklung zu beschleunigen:

  • Deployment in die Produktion in Sekunden mit einem einfachen git push. Keine zusätzlichen Tools oder manuelle Konfiguration erforderlich.
  • Nutzen Sie Ihre eigene Domain und profitieren Sie von automatischen HTTPS-Zertifikaten, damit Ihre Anwendung ohne zusätzlichen Aufwand sicher bleibt.
  • Automatische Backups, One-Click-Updates und planbare Preise ermöglichen es Ihnen, sich auf die Entwicklung neuer Features zu konzentrieren – Stackhero übernimmt das Infrastrukturmanagement für Sie.
  • Basierend auf privater, dedizierter Infrastruktur für konstante Performance und hohe Sicherheit.

Sparen Sie Zeit und reduzieren Sie Ihren Betriebsaufwand: Ihre Anwendung läuft auf dem Node.js Cloud Hosting von Stackhero in nur wenigen Minuten.

In realen Projekten müssen oft mehrere Geheimnisse verwaltet werden. Beispielsweise benötigt die Verbindung zu einer Datenbank meist einen Hostnamen, einen Benutzernamen und ein Passwort.

Ein einzelnes Geheimnis zu handhaben ist einfach, aber mehrere zu verwalten wird schnell unübersichtlich. Stellen Sie sich vor, Sie starten Ihre Anwendung mit einem Befehl wie diesem:

POSTGRESQL_HOST=<XXXXXX>.stackhero-network.com POSTGRESQL_USER=admin POSTGRESQL_PASSWORD=myPassword node app.js

Das wird schnell unleserlich und schwer zu pflegen. In der Produktion benötigen Sie vermutlich noch mehr Variablen, was diese Methode unpraktisch macht.

Hier kommt die dotenv-Bibliothek ins Spiel.

Mit dotenv können Sie Ihre Geheimnisse in einer separaten Datei namens .env speichern.

Um loszulegen, installieren Sie die dotenv-Bibliothek mit folgendem Befehl:

npm install dotenv

Erstellen Sie anschließend eine .env-Datei, in der Sie Ihre Variablen ablegen:

POSTGRESQL_HOST=<XXXXXX>.stackhero-network.com
POSTGRESQL_USER=admin
POSTGRESQL_PASSWORD=myPassword

Um Ihre Geheimnisse zu schützen, stellen Sie sicher, dass Ihre .env-Datei nicht in Ihr Git-Repository aufgenommen wird. Fügen Sie sie dazu Ihrer .gitignore-Datei hinzu:

echo ".env" >> .gitignore

Laden Sie abschließend die dotenv-Bibliothek am Anfang Ihrer app.js-Datei:

require("dotenv").config();

Mit dieser Konfiguration liest dotenv beim Start Ihrer Anwendung mit node app.js die .env-Datei automatisch auf Ihrer Entwicklungsmaschine ein. In der Produktion benötigen Sie die .env-Datei nicht. Die Umgebungsvariablen werden direkt aus der Konfiguration Ihres Node.js-Services übernommen, die Sie über das Stackhero-Dashboard verwalten können.