O variabilă de mediu oferă informații despre mediul în care rulează un proces. Ei configurează porturile de server și conexiunile la baze de date, ascund datele sensibile precum cheile API și multe altele.

Modul NestJS de a citi variabilele de mediu diferă de pachetul standard dotenv de la NodeJS.

Modulul de configurare NestJS vă permite să vă gestionați variabilele de mediu în doar câțiva pași.

Pasul 1: Instalarea dependențelor

NestJS oferă un program dedicat @nestjs/config pachet care utilizează dotenv pachet sub capotă. Acest pachet cu dependență zero încarcă variabile de mediu din a .env dosar în proces.env. Obiectul process.env este o variabilă globală injectată în timpul rulării pentru utilizarea aplicației dvs.

Instalați pachetul de configurare NestJS rulând:

instalare npm @nestjs/config

Pachetul de configurare NestJS funcționează prin expunerea la aplicație a unui modul de configurare și a unui serviciu de configurare. Modulul de configurare specifică .env depuneți cererea pentru a citi. În același timp, serviciul de configurare expune informațiile din interiorul

instagram viewer
.env fișier la restul aplicației.

Pasul 2: Crearea fișierelor ENV

Stocarea variabilelor de mediu într-un fișier vă permite accesați-le ușor din orice limbă, în diferite sisteme de operare. Puteți controla versiunea acestora .env fișiere, astfel încât acestea cresc portabilitatea proiectului și pot ușura problemele de depanare.

Abordarea NestJS pentru crearea fișierelor .env diferă de recomandarea oficială dotenv. Conform documentației dotenv, nu ar trebui să creați mai mult de un fișier .env într-o aplicație. NestJS vă permite să creați mai multe fișiere .env cu nume diferite.

Ca o practică bună, ar trebui să creați întotdeauna fișiere .env în directorul rădăcină al proiectului și să le includeți în fișierul dvs .gitignore fişier.

Nu există o modalitate specială de a crea un fișier .env - doar creați și editați-le cu editorul dvs. de text obișnuit - dar trebuie să înceapă cu .env. De exemplu, .dezvoltare.mediu.

Pasul 3: Configurarea modulului de configurare

Urmați pasul de mai jos pentru a configura modulul de configurare la nivel global și pentru a specifica .env trasee:

  1. În modulul rădăcină al proiectului dvs. (app.modue.ts) fișier, import ConfigModule din @nestjs/config.
  2. Adăuga ConfigModule pentru dumneavoastră importurilor matrice și apelați pentruRoot metoda pe ea.
  3. Transmiteți un obiect de configurare către pentruRoot metoda, cu an este Global proprietate la Adevărat. Această opțiune partajează configurația prin celelalte module din aplicația dvs., ceea ce înseamnă că nu va trebui să o configurați de mai multe ori.
  4. Specifică-ți envFilePath în obiectul dvs. de configurare. Această proprietate poate fi fie un șir (dacă aveți unul .env fișier) sau o matrice care conține toate datele dvs .env fișiere și va spune modulului de configurare ce fișiere să caute.
// app.module.ts
@Modul({
importuri: [
ConfigModule.pentruRoot({
isGlobal: Adevărat,
envFilePath: 'Numele (numele) fișierului (fișierelor) dvs. .env',
}),

Pasul 4: Utilizarea serviciului de configurare pentru a citi variabilele de mediu

Pentru a accesa valorile de configurare începeți prin a importa ConfigService din @nestjs/config. Injectați-l în constructorul clasei prin declararea a privat variabilă și de atribuire ConfigService ca tipul său.

De exemplu:

constructor(configurație privată: ConfigService) {}

Pentru a accesa o variabilă, apelați obține metoda pe ConfigService pe dumneavoastră privat variabil. Transmiteți-i tipul de date de care aveți nevoie ca generic și numele variabilei de mediu pe care doriți să o accesați.

De exemplu:

const envVar = this.config.get<şir>('ENV_VALUE');

The ConfigService caută o valoare cu numele „ENV_VALUE” și returnează valoarea acesteia.

Rețineți că dacă doi .env fișierele conțin același nume de proprietate, primul specificat în envFilePath va avea prioritate.

Importanța variabilelor de mediu

Variabilele de mediu sunt o parte esențială a unui program, în special în aplicațiile mai complexe. Vă permit să controlați configurația programului printr-un mecanism comun ușor de înțeles.

Puteți utiliza variabile de mediu pentru a controla toate aspectele configurației. De la diferite setări ale bazei de date la date sensibile, cum ar fi cheile API și acreditările, acestea vă permit să schimbați configurația fără a atinge codul sursă de bază.