Antworten:
process.env.ENV_VARIABLE
Wo ENV_VARIABLEist der Name der Variablen, auf die Sie zugreifen möchten?
Siehe Node.js-Dokumente fürprocess.env .
process.env.FOO = "foo";funktioniert.
process.envwird 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.envObjekt 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.envist 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.VARNAMEmuss 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:
.envDatei 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.
envBibliothek.
envdirDienstprogramm auf eine nicht node.js-spezifische Weise tun .
nodespezifisch ist.
Warum verwenden Sie sie nicht im Benutzerverzeichnis der .bash_profileDatei, damit Sie keine Dateien mit Ihren Variablen in die Produktion verschieben müssen?
envin einem anderen Shell-Fenster feuern, während der Knotenprozess ausgeführt wird, oder in derselben Shell, nachdem der Knotenprozess beendet wurde.