de Erisan Olasheni

Cum se personalizează fișierele .env Node.js pentru diferite etape de mediu

Cum se personalizeaza fisierele env Nodejs pentru diferite etape de

Te-ai găsit vreodată într-o situație în care ai nevoie de variabile de mediu personalizate pentru diferite etape de dezvoltare ale aplicației tale? Iată o soluție cu o singură linie.

Dezvoltarea a fost mult mai ușoară de la inventarea .env fişier. Puteți seta cu ușurință variabilele și valorile de mediu cu sintaxa ENV_VARIABLE=VALUE și boom! Aceste variabile au fost încărcate ca variabile de mediu, făcând posibil accesul rapid la ele:

console.log(process.env.ENV_VARIABLE)

În cazul în care vă mai întrebați ce înseamnă toate acestea, ei bine, probabil că sunteți nou în .env fişier. Este de fapt un fișier text de configurare simplu, care este utilizat pentru a defini unele variabile pe care doriți să le transmiteți în mediul aplicației dvs.

Acest fișier are nevoie de ceva de genul analizor să-l facă să funcționeze. Analizorul citește definițiile variabilelor unul câte unul și le analizează la mediu. Folosește formatul ENV_VARIABLE = VALOARE (în cazul Node.js: process.env[ENV_VARIABLE]=VALUE).

Desigur, aceasta nu este o caracteristică încorporată în Node.js. Trebuie să-l proiectați cu un modul popular numit dotenv.

ad-banner

Este o soluție plăcută, deoarece a făcut cu adevărat dezvoltarea mai ușoară între co-dezvoltatori și în întreaga comunitate de dezvoltatori în ansamblu. Eu personal folosisem dotenv modul, până când m-am blocat încercând să obțin o soluție care să mă facă să folosesc un fișier de configurare diferit pentru un anumit mediu. Ar fi și mai mișto … nu? Da! Dar, din păcate, dotenv modulul nu ne oferă acest bun.

Deci ce urmeaza? Avem nevoie de acest lucru pentru a facilita dezvoltarea și testarea în diferite etape de dezvoltare!

Ce zici de fișierele .env personalizate pentru diferite etape de mediu?

Nu crezi că ar fi o soluție bună? Definirea variabilelor de mediu personalizate doar prin crearea unui .env.envname fişier? Misto! Asta este custom-env a ajuns să facă.

Custom env este o bibliotecă construită pentru a face dezvoltarea mai ușoară, permițând mai multe configurații .env pentru diferite medii. Acest lucru se face prin încărcarea variabilelor de mediu dintr-un fișier .env.envname în nod process.env obiect.

Instalare

Prindeți-l cu următoarea comandă:

npm i custom-env

Utilizare

require('custom-env').env()

În mod implicit, custom-env alege fișierul .env pentru etapa de dezvoltare. Cu toate acestea, pentru a personaliza pentru o etapă diferită, adăugați numele ca sufix ca în .env.envname.

Exemplu

Putem defini o variabilă de mediu personalizată pentru un dezvoltarea etapelor.

  • Creați un fișier .env.staging
  • Definiți variabilele
APP_ENV=staging
APP_NAME=custom environment app
DB_HOST=localhost
DB_USER=user
DB_PASS=pass
  • Accesați variabilele
// Require custom-env and set your preferred env file

require ('custom-env').env('staging')

console.log(process.env.APP_ENV)

console.log(process.env.APP_NAME)

console.log(process.env.DB_HOST)

console.log(process.env.DB_PASS)

Ieșire preconizată

staging
custom environment app
localhost
user
pass

Gata, destul de ușor. Simțiți-vă liber să definiți mai multe variabile pentru diferite etape pe care credeți că le aveți, cum ar fi:

.env.testing, .env.staging, .env.server1, .env.server2, .env.localhost

Setați la mediul actual

Poți spune custom-env pentru a utiliza o configurație care se potrivește cu etapa curentă de dezvoltare prin trecere Adevărat la env() metodă.

Exemplu

Fișier: index.js

// Pass true to env() to make it use the current environment stage.

require('custom-env').env(true)

console.log(process.env.APP_NAME)
console.log(process.env.USERNAME)
console.log(process.env.PASSKEY)

Acum să definim un fișier de configurare pentru etapă:

Fișier: .env.staging

APP_NAME=Staging Node App
USER_NAME=John
PASSKEY=J*h*

Acum, să difuzăm nodul cu mediul intermediar:

NODE_ENV=staging node index.js

Ieșire preconizată

1611721864 901 Cum se personalizeaza fisierele env Nodejs pentru diferite etape de
Obține variabilele în funcție de punerea în scenă mediu inconjurator.

Gata!

Documentație completă

Pentru documentația completă a custom-env, Viziteaza pagina npm https://www.npmjs.com/package/custom-env

Cod sursa

Puteți obține sau contribui la custom-env cod sursă la https://github.com/erisanolasheni/custom-env

Codificare fericită!