Antworten:
process.env.ENV_VARIABLE
Wo ENV_VARIABLE
ist der Name der Variablen, auf die Sie zugreifen möchten?
Siehe Node.js-Dokumente fürprocess.env
.
process.env.FOO = "foo";
funktioniert.
process.env
wird aus Sicherheitsgründen bereinigt. Es sind nur Variablen REACT_ENV_
verfügbar , die mit beginnen . Siehe: github.com/facebookincubator/create-react-app/blob/master/…
REACT_APP_
Bei Verwendung von Node.js können Sie Umgebungsvariablen per Schlüssel aus dem process.env
Objekt abrufen :
zum Beispiel
var mode = process.env.NODE_ENV;
var apiKey = process.env.apiKey; // '42348901293989849243'
Hier ist die Antwort, die das Festlegen von Umgebungsvariablen in node.js erklärt
process.env
ist in die API von node.js integriert.
Wenn Sie beispielsweise einen in Ihrem Node.js-Programm generierten Zeichenfolgenschlüssel verwenden möchten, var v = 'HOME'
können Sie diesen verwenden
process.env[v]
.
Andernfalls process.env.VARNAME
muss in Ihrem Programm fest codiert werden.
process.env['HOME']
?
Um Umgebungsvariablen in Node.JS abrufen Sie verwenden können process.env.VARIABLE_NAME , aber nicht vergessen , dass eine Eigenschaft auf process.env Zuweisung implizit den Wert in eine Zeichenfolge konvertieren.
Selbst wenn Ihre .env-Datei eine Variable wie SHOULD_SEND = false oder SHOULD_SEND = 0 definiert , werden die Werte in Zeichenfolgen ( "false" bzw. "0" ) konvertiert und nicht als Boolesche Werte interpretiert.
if (process.env.SHOULD_SEND) {
mailer.send();
} else {
console.log("this won't be reached with values like false and 0");
}
Stattdessen sollten Sie explizite Überprüfungen durchführen. Ich habe festgestellt, dass je nach Umgebungsname ein langer Weg geht.
db.connect({
debug: process.env.NODE_ENV === 'development'
});
Mit dem env- Paket können Sie Ihre Umgebungsvariablen pro Projekt verwalten:
.env
Datei unter dem Projektverzeichnis und legen Sie alle Ihre Variablen dort ab.require('dotenv').config();
Erledigt. Jetzt können Sie mit auf Ihre Umgebungsvariablen zugreifen process.env.ENV_NAME
.
env
Bibliothek.
envdir
Dienstprogramm auf eine nicht node.js-spezifische Weise tun .
node
spezifisch ist.
Warum verwenden Sie sie nicht im Benutzerverzeichnis der .bash_profile
Datei, damit Sie keine Dateien mit Ihren Variablen in die Produktion verschieben müssen?
env
in einem anderen Shell-Fenster feuern, während der Knotenprozess ausgeführt wird, oder in derselben Shell, nachdem der Knotenprozess beendet wurde.