Bei der Entwicklung von Anwendungen in node.js ist die sichere Verwaltung sensibler Konfigurationswerte von entscheidender Bedeutung. Diese Werte - wie API -Schlüssel, Datenbankanmeldeinformationen und Serverports - werden häufig in Umgebungsvariablen gespeichert. Mit dem DOTenV -Paket können wir diese Variablen aus einer .Env -Datei laden, um sie aus unserem Quellcode herauszuhalten, während sie in unserer Anwendung dennoch zugänglich sind.
In diesem Artikel werden wir untersuchen, wie Umgebungsvariablen mithilfe von DOTenV effizient verwaltet werden und eine Versorgungsfunktion erstellen, um sicherzustellen, dass erforderliche Variablen immer verfügbar sind.
Warum Umgebungsvariablen verwenden?
Verwenden von Umgebungsvariablen bietet mehrere Vorteile:
-
Sicherheit: hält vertrauliche Informationen von der Codebasis heraus.
-
Konfigurierbarkeit: Einfach Einstellungen ändern, ohne den Code zu ändern.
-
umweltspezifische Einstellungen: Verwenden Sie verschiedene Werte für Entwicklungs- und Produktionsumgebungen.
Einrichten von Dotenv in einem Node.js -Projekt einrichten
Schritt 1: Installieren Sie DOTENV
Bevor wir dotenv verwenden können, müssen wir es in unserem Projekt installieren:
Schritt 2: Erstellen Sie eine .env -Datei
Erstellen Sie im Root Ihres Projekts eine .env -Datei und definieren Sie Ihre Umgebungsvariablen:
1 2 3 4 5 | PORT=5000
FRONTEND_URL=http:
NODE_ENV=development
DB_CONNECT=mongodb:
ACCESS_TOKEN=your-secret-access-token
|
Nach dem Login kopieren
Hinweis: Verpflichten Sie Ihre .EnV -Datei niemals in einem Repository! Fügen Sie immer .Env zu Ihrer .gitignore -Datei hinzu.
Ladeumgebungsvariablen in node.js
Wir können dotenv verwenden, um Umgebungsvariablen in unsere Node.js -Anwendung zu laden. Der folgende Code zeigt, wie das geht:
Schritt 3: Erstellen einer Konfigurationsdatei
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | import { config } from "dotenv" ;
config({ path: "../../.env" });
const envVars = {
port: process.env.PORT || 5000,
frontendUrl: process.env.FRONTEND_URL,
nodeEnv: process.env.NODE_ENV as "development" | "production" ,
dbConnect: process.env.DB_CONNECT,
accessToken: process.env.ACCESS_TOKEN,
};
export default function getEnv (varName: keyof typeof envVars): string {
if (typeof envVars[varName] === "undefined" ) {
console.error(` '${varName}' is not available`);
process. exit (1);
} else {
return envVars[varName] as string;
}
}
|
Nach dem Login kopieren
Den Code verstehen
- Lastumgebung Variablen:
1 2 | import { config } from "dotenv" ;
config({ path: "../../.env" });
|
Nach dem Login kopieren
Dies importiert dotenv und lädt die .Env -Datei in process.env.
- Erwartete Umgebungsvariablen definieren:
1 2 3 4 5 6 7 | const envVars = {
port: process.env.PORT || 5000,
frontendUrl: process.env.FRONTEND_URL,
nodeEnv: process.env.NODE_ENV as "development" | "production" ,
dbConnect: process.env.DB_CONNECT,
accessToken: process.env.ACCESS_TOKEN,
};
|
Nach dem Login kopieren
Wir definieren eine Reihe von erwarteten Umgebungsvariablen und geben einen Standardwert für Port an, falls er fehlt.
- Erstellen Sie eine Funktion, um Umgebungsvariablen sicher abzurufen:
1 2 3 4 5 6 7 8 | export default function getEnv (varName: keyof typeof envVars): string {
if (typeof envVars[varName] === "undefined" ) {
console.error(` '${varName}' is not available`);
process. exit (1);
} else {
return envVars[varName] as string;
}
}
|
Nach dem Login kopieren
Diese Funktion stellt sicher, dass, wenn eine Umgebungsvariable fehlt
Verwenden der Getenv -Funktion
Wenn wir jetzt eine Umgebungsvariable in unserem Projekt benötigen, können wir sie sicher so abrufen:
1 2 3 4 | import getEnv from "./getEnv" ;
const databaseURL = getEnv ( "dbConnect" );
console.log( "Database URL:" , databaseURL);
|
Nach dem Login kopieren
Wenn die Variable fehlt, wird die Anwendung einen Fehler beendet und protokolliert, sodass wir die App niemals mit fehlenden Konfigurationen ausführen.
Best Practices für die Verwaltung von Umgebungsvariablen
- Nie Hardcode -Geheimnisse in Ihrer Anwendung. Verwenden Sie immer Umgebungsvariablen.
- Verwenden Sie eine .Env.example -Datei, um eine Vorlage für die erforderlichen Variablen bereitzustellen.
- Umgebungsspezifische .Env-Dateien wie .Env.Development und .Env.Production.
- Verwenden Sie eine Bibliothek wie Cross-Env, um Umgebungsvariablen in Skripten über verschiedene Betriebssysteme hinweg festzulegen.
Abschluss
Umgebungsvariablen verwalten ist ein wesentlicher Bestandteil der Anwendungsentwicklung, und das DOTENV -Paket erleichtert es einfach, sie sicher zu laden. Durch Erstellen eines strukturierten Ansatzes unter Verwendung einer Getenv -Funktion können wir sicherstellen, dass alle erforderlichen Variablen ordnungsgemäß geladen sind, wodurch Laufzeitfehler durch fehlende Konfigurationen verhindern.
Wenn wir Best Practices folgen, können wir die Sicherheit, Wartbarkeit und Flexibilität unserer Node.js -Anwendungen verbessern.
Beispiel für volles Code
Das obige ist der detaillierte Inhalt vonVerwaltung von Umgebungsvariablen in node.js mit dotenv. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!