Odpowiedzi:
process.env.ENV_VARIABLE
Gdzie ENV_VARIABLE
jest nazwa zmiennej, do której chcesz uzyskać dostęp.
Zobacz dokumentację Node.js dlaprocess.env
.
process.env.FOO = "foo";
Pracuje.
process.env
jest 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.env
obiektu:
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.env
jest 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.VARNAME
musi 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:
.env
plik 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
.
env
biblioteki i ładuj je .
envdir
narzędzia.
node
specyficzny.
Dlaczego nie użyć ich w katalogu Users w .bash_profile
pliku, więc nie musisz wypychać żadnych plików ze zmiennymi do produkcji?
env
w innym oknie powłoki, gdy proces węzła jest uruchomiony, ani w tej samej powłoce po zakończeniu procesu węzła.