Eine Umgebungsvariable liefert Informationen über die Umgebung, in der ein Prozess ausgeführt wird. Sie konfigurieren Serverports und Datenbankverbindungen, verbergen sensible Daten wie API-Schlüssel und vieles mehr.

Die Art und Weise, wie NestJS Umgebungsvariablen liest, unterscheidet sich vom Standardpaket dotenv von NodeJS.

Mit dem NestJS-Konfigurationsmodul können Sie Ihre Umgebungsvariablen in nur wenigen Schritten verwalten.

Schritt 1: Installieren von Abhängigkeiten

NestJS bietet eine dedizierte @nestjs/config Paket, das die verwendet dotenv Paket unter der Haube. Dieses Paket ohne Abhängigkeit lädt Umgebungsvariablen aus a .env Datei hinein process.env. Das process.env-Objekt ist eine globale Variable, die zur Laufzeit für Ihre Anwendung eingefügt wird.

Installieren Sie das NestJS-Konfigurationspaket, indem Sie Folgendes ausführen:

npm installieren @nestjs/config

Das NestJS-Konfigurationspaket funktioniert, indem es der Anwendung ein Konfigurationsmodul und einen Konfigurationsdienst zur Verfügung stellt. Das Konfigurationsmodul spezifiziert die

instagram viewer
.env reichen Sie den Antrag ein, um ihn zu lesen. Gleichzeitig stellt der Konfigurationsdienst die Informationen in der bereit .env Datei zum Rest der Anwendung.

Schritt 2: Erstellen von ENV-Dateien

Durch das Speichern von Umgebungsvariablen in einer Datei können Sie Greifen Sie einfach von jeder Sprache aus darauf zu, über verschiedene Betriebssysteme hinweg. Diese können Sie versionieren .env Dateien, sodass sie die Projektportabilität erhöhen und Debugging-Probleme lindern können.

Der NestJS-Ansatz zum Erstellen von .env-Dateien weicht von der offiziellen dotenv-Empfehlung ab. Laut Dotenv-Dokumentation sollten Sie in einer Anwendung nicht mehr als eine .env-Datei erstellen. Mit NestJS können Sie mehrere .env-Dateien mit unterschiedlichen Namen erstellen.

Als bewährte Methode sollten Sie immer .env-Dateien im Stammverzeichnis Ihres Projekts erstellen und sie in Ihr .gitignorieren Datei.

Es gibt keine spezielle Möglichkeit, eine .env-Datei zu erstellen – erstellen und bearbeiten Sie sie einfach mit Ihrem normalen Texteditor – aber sie müssen mit .env beginnen. Zum Beispiel, .env.entwicklung.

Schritt 3: Einrichten des Konfigurationsmoduls

Befolgen Sie die nachstehenden Schritte, um Ihr Konfigurationsmodul global einzurichten und die .env Wege:

  1. Im Stammmodul Ihres Projekts (app.modue.ts) Datei importieren Konfigurationsmodul aus @nestjs/config.
  2. Hinzufügen Konfigurationsmodul zu deinem Importe Array und rufen Sie die auf fürRoot Methode drauf.
  3. Übergeben Sie ein Konfigurationsobjekt an die fürRoot Methode, mit einem istGlobal Eigentum zu Stimmt. Diese Option teilt die Konfiguration mit den anderen Modulen in Ihrer Anwendung, was bedeutet, dass Sie sie nicht mehr als einmal einrichten müssen.
  4. Geben Sie Ihre an envFilePath in Ihrem Konfigurationsobjekt. Diese Eigenschaft kann entweder eine Zeichenfolge sein (falls vorhanden .env Datei) oder ein Array mit all Ihren .env Dateien und teilt dem Konfigurationsmodul mit, nach welchen Dateien es suchen soll.
// app.module.ts
@Modul({
Importe: [
Konfigurationsmodul.fürRoot({
istGlobal: Stimmt,
envFilePath: 'Name(n) Ihrer .env-Datei(en)',
}),

Schritt 4: Verwenden des Konfigurationsdienstes zum Lesen von Umgebungsvariablen

Um auf die Konfigurationswerte zuzugreifen, beginnen Sie mit dem Importieren Konfigurationsdienst aus @nestjs/config. Injizieren Sie es in die Konstruktor der Klasse durch die Erklärung von a Privatgelände variabel und zuweisend Konfigurationsdienst als seine Art.

Zum Beispiel:

Konstrukteur(private Konfiguration: ConfigService) {}

Um auf eine Variable zuzugreifen, rufen Sie die auf erhalten Methode auf der Konfigurationsdienst auf Ihrem Privatgelände Variable. Übergeben Sie ihm den Datentyp, den Sie generisch benötigen, und den Namen der Umgebungsvariablen, auf die Sie zugreifen möchten.

Zum Beispiel:

const envVar = this.config.get<Schnur>('ENV_VALUE');

Das Konfigurationsdienst sucht nach einem Wert mit dem Namen „ENV_VALUE“ und gibt seinen Wert zurück.

Beachten Sie, dass wenn zwei .env Dateien enthalten denselben Eigenschaftsnamen, den ersten, der in der angegeben ist envFilePath wird Vorrang haben.

Die Bedeutung von Umgebungsvariablen

Umgebungsvariablen sind ein wesentlicher Bestandteil eines Programms, insbesondere in komplexeren Anwendungen. Mit ihnen können Sie die Konfiguration Ihres Programms über einen leicht verständlichen, gemeinsamen Mechanismus steuern.

Sie können Umgebungsvariablen verwenden, um alle Aspekte der Konfiguration zu steuern. Von verschiedenen Datenbankeinstellungen bis hin zu vertraulichen Daten wie API-Schlüsseln und Anmeldeinformationen können Sie die Konfiguration ändern, ohne den zugrunde liegenden Quellcode zu berühren.