Odpowiedzi:
process.env.ENV_VARIABLE
Gdzie ENV_VARIABLEjest nazwa zmiennej, do której chcesz uzyskać dostęp.
Zobacz dokumentację Node.js dlaprocess.env .
process.env.FOO = "foo";Pracuje.
process.envjest dezynfekowany ze względów bezpieczeństwa. Dostępne są tylko zmienne rozpoczynające się od REACT_ENV_. Zobacz: github.com/facebookincubator/create-react-app/blob/master/…
REACT_APP_
Korzystając z Node.js , możesz pobrać zmienne środowiskowe według klucza z process.envobiektu:
na przykład
var mode = process.env.NODE_ENV;
var apiKey = process.env.apiKey; // '42348901293989849243'
Oto odpowiedź, która wyjaśni ustawienie zmiennych środowiskowych w node.js
process.envjest wbudowany w interfejs API node.js.
Jeśli chcesz użyć klucza ciągu wygenerowanego w programie Node.js, powiedzmy, var v = 'HOME'możesz użyć
process.env[v].
W przeciwnym razie process.env.VARNAMEmusi być zakodowane na stałe w twoim programie.
process.env['HOME']?
Aby pobrać zmienne środowiskowe w Node.JS, możesz użyć process.env.VARIABLE_NAME , ale nie zapominaj, że przypisanie właściwości do process.env niejawnie przekształci wartość na ciąg.
Nawet jeśli plik .env definiuje zmienną taką jak SHOULD_SEND = false lub SHOULD_SEND = 0 , wartości zostaną przekonwertowane na ciągi znaków (odpowiednio „false” i „0” ) i nie będą interpretowane jako logiczne.
if (process.env.SHOULD_SEND) {
mailer.send();
} else {
console.log("this won't be reached with values like false and 0");
}
Zamiast tego powinieneś dokonać wyraźnych kontroli. Znalazłem, w zależności od nazwy środowiska, długą drogę.
db.connect({
debug: process.env.NODE_ENV === 'development'
});
Możesz użyć pakietu env do zarządzania zmiennymi środowiskowymi dla każdego projektu:
.envplik w katalogu projektu i umieść tam wszystkie swoje zmienne.require('dotenv').config();Gotowy. Teraz możesz uzyskać dostęp do zmiennych środowiskowych za pomocą process.env.ENV_NAME.
envbiblioteki i ładuj je .
envdirnarzędzia.
nodespecyficzny.
Dlaczego nie użyć ich w katalogu Users w .bash_profilepliku, więc nie musisz wypychać żadnych plików ze zmiennymi do produkcji?
envw innym oknie powłoki, gdy proces węzła jest uruchomiony, ani w tej samej powłoce po zakończeniu procesu węzła.