
Die Entwicklung war seit der Erfindung der .env
Datei viel einfacher . Sie können Ihre Umgebungsvariablen und -werte einfach mit der Syntax ENV_VARIABLE=VALUE
und dem Boom einstellen ! Diese Variablen wurden als Umgebungsvariablen geladen, sodass Sie schnell darauf zugreifen können:
console.log(process.env.ENV_VARIABLE)
Falls Sie sich immer noch fragen, was dies alles bedeutet, sind Sie wahrscheinlich neu in der .env
Datei. Es ist eigentlich eine einfache Konfigurationstextdatei, mit der einige Variablen definiert werden, die Sie an die Umgebung Ihrer Anwendung übergeben möchten.
Diese Datei benötigt so etwas wie einen Parser , damit sie funktioniert. Der Parser liest die Variablendefinitionen one-by-one und parst sie in die Umwelt. Es verwendet das Format ENV_VARIABLE = VALUE (im Fall von Node.js :)process.env[ENV_VARIABLE]=VALUE
.
Dies ist natürlich keine in Node.js integrierte Funktion. Sie müssen es mit einem beliebten Modul namens dotenv entwickeln .
Es ist eine gute Problemumgehung, da es die Entwicklung zwischen Mitentwicklern und der gesamten Entwickler-Community wirklich erleichtert hat. Ich persönlich hatte das dotenv- Modul verwendet, bis ich gestrandet war und versuchte, eine Lösung zu finden, mit der ich eine andere Konfigurationsdatei für eine bestimmte Umgebung verwenden konnte. Das wäre noch cooler… richtig? Ja! Aber leider das dotenvModul bietet uns nicht diese Goody.
Was kommt als nächstes? Wir brauchen dieses Ding, um die Entwicklung und das Testen in verschiedenen Entwicklungsstadien zu vereinfachen!
Wie wäre es mit benutzerdefinierten .env-Dateien für verschiedene Umgebungsphasen?
Glaubst du nicht, dass das eine gute Lösung wäre? Definieren Sie benutzerdefinierte Umgebungsvariablen, indem Sie einfach eine .env.envname- Datei erstellen. Cool! Dafür ist custom-env gekommen.
Custom env ist eine Bibliothek, die entwickelt wurde, um die Entwicklung zu vereinfachen, indem mehrere .env-Konfigurationen für verschiedene Umgebungen zugelassen werden. Dies erfolgt durch Laden von Umgebungsvariablen aus einer .env.envname-Datei in das process.env
Objekt des Knotens .
Installation
Greifen Sie einfach mit dem folgenden Befehl zu:
npm i custom-env
Verwendung
require('custom-env').env()
Standardmäßig wählt custom-env die .env-Datei für Ihre Entwicklungsphase aus. Um jedoch für eine andere Stufe anzupassen, fügen Sie den Namen als Suffix wie in .env.envname hinzu.
Beispiel
Wir können eine benutzerdefinierte Umgebungsvariable für eine Staging-Entwicklung definieren.
- Erstellen Sie eine .env.staging-Datei
- Definieren Sie Ihre Variablen
APP_ENV=staging APP_NAME=custom environment app DB_HOST=localhost DB_USER=user DB_PASS=pass
- Greifen Sie auf Ihre Variablen zu
// Require custom-env and set your preferred env file require ('custom-env').env('staging') console.log(process.env.APP_ENV) console.log(process.env.APP_NAME) console.log(process.env.DB_HOST) console.log(process.env.DB_PASS)
Erwartete Ausgabe
staging custom environment app localhost user pass
Das war's, ziemlich einfach. Sie können gerne weitere Variablen für verschiedene Phasen definieren, von denen Sie glauben, dass Sie sie haben, wie z.
.env.testing, .env.staging, .env.server1, .env.server2, .env.localhost
Auf die aktuelle Umgebung einstellen
Sie können custom-env anweisen , eine Konfiguration zu verwenden, die Ihrer aktuellen Entwicklungsstufe entspricht, indem Sie true übergebenzum env()
Methode.
Beispiel
Datei: index.js
// Pass true to env() to make it use the current environment stage. require('custom-env').env(true) console.log(process.env.APP_NAME) console.log(process.env.USERNAME) console.log(process.env.PASSKEY)
Definieren wir nun eine Staging-Konfigurationsdatei:
Datei: .env.staging
APP_NAME=Staging Node App USER_NAME=John PASSKEY=J*h*
Lassen Sie uns nun den Knoten mit der Staging-Umgebung bedienen:
NODE_ENV=staging node index.js
Erwartete Ausgabe

Los geht's!
Vollständige Dokumentation
Die vollständige Dokumentation von custom-env finden Sie auf der npm-Seite//www.npmjs.com/package/custom-env
Quellcode
Sie können die benutzerdefinierte Umgebung erhalten oder dazu beitragenQuellcode unter //github.com/erisanolasheni/custom-env
Viel Spaß beim Codieren!