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 som VAR_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;

Relaterte artikler