javascript - Les miljøvariabler i Node.js
Finnes det en måte å lese miljøvariabler i Node.js-kode på?
Som for eksempel Pythons os.environ['HOME'].
Svar #1
process.env.ENV_VARIABLE
Hvor ENV_VARIABLE er navnet på variabelen du ønsker å få tilgang til.
Se Node.js-dokumentasjonen for process.env.
Svar #2
Når du bruker Node.js, kan du hente miljøvariabler etter nøkkel fra process.env-objektet:
for eksempel
var mode = process.env.NODE_ENV;
var apiKey = process.env.apiKey; // '42348901293989849243'
Her er svaret som vil forklare hvordan man setter miljøvariabler i node.js
Svar #3
For å hente miljøvariabler i Node.JS kan du bruke process.env.VARIABLE_NAME, men ikke glem at tildeling av en egenskap på process.env vil implisitt konvertere verdien til en streng.
Unngå boolsk logikk
Selv om .env-filen din definerer en variabel som SHOULD_SEND=false eller SHOULD_SEND=0, vil verdiene bli konvertert til strenger (“false ” og “0 ” henholdsvis) og ikke tolkes som boolske verdier.
if (process.env.SHOULD_SEND) {
mailer.send();
} else {
console.log("this won't be reached with values like false and 0");
}
I stedet bør du gjøre eksplisitte kontroller. Jeg har funnet ut at det å avhenge av miljønavnet hjelper mye.
db.connect({
debug: process.env.NODE_ENV === 'development'
});
Svar #4
Hvis du vil bruke en strengnøkkel generert i ditt Node.js-program, for eksempel var v='HOME', kan du bruke process.env[v].
Ellers må process.env.VARNAME hardkodes i programmet ditt.
Svar #5
Du kan bruke dotenv-pakken til å administrere miljøvariablene dine per prosjekt:
- Opprett en
.env-fil under prosjektkatalogen og legg alle variablene dine der somVAR_NAME=value-par. - Legg til
require('dotenv').config();øverst i applikasjonens startfil.
Nå kan du få tilgang til miljøvariablene dine med process.env.VAR_NAME.
Svar #6
Bruke process.env. Hvis Home er navnet på miljøvariabelen din, prøv dette:
const HOME = process.env.HOME;
Eller
const { HOME } = process.env;
