Una variabile di ambiente fornisce informazioni sull'ambiente in cui è in esecuzione un processo. Configurano le porte del server e le connessioni al database, nascondono dati sensibili come chiavi API e molto altro.

Il modo in cui NestJS legge le variabili di ambiente è diverso dal pacchetto dotenv standard di NodeJS.

Il modulo di configurazione NestJS ti consente di gestire le variabili di ambiente in pochi passaggi.

Passaggio 1: installazione delle dipendenze

NestJS fornisce un servizio dedicato @nestjs/config pacchetto che utilizza dotenv pacchetto sotto il cofano. Questo pacchetto a dipendenza zero carica le variabili di ambiente da a .env archiviare in processo.env. L'oggetto process.env è una variabile globale iniettata in fase di esecuzione per l'uso dell'applicazione.

Installa il pacchetto di configurazione NestJS eseguendo:

npm installazione @nestjs/config

Il pacchetto di configurazione NestJS funziona esponendo un modulo di configurazione e un servizio di configurazione all'applicazione. Il modulo di configurazione specifica il

instagram viewer
.env archiviare l'applicazione da leggere. Allo stesso tempo, il servizio di configurazione espone le informazioni all'interno del file .env file al resto dell'applicazione.

Passaggio 2: creazione di file ENV

La memorizzazione delle variabili di ambiente in un file ti consente accedervi facilmente da qualsiasi lingua, su diversi sistemi operativi. Puoi controllare la versione di questi .env file, quindi aumentano la portabilità del progetto e possono alleviare i problemi di debug.

L'approccio NestJS per la creazione di file .env differisce dalla raccomandazione ufficiale dotenv. Secondo la documentazione di dotenv, non dovresti creare più di un file .env in un'applicazione. NestJS ti consente di creare più file .env con nomi diversi.

Come buona pratica, dovresti sempre creare file .env nella directory principale del tuo progetto e includerli nel tuo .gitignore file.

Non esiste un modo speciale per creare un file .env, basta crearlo e modificarlo con il tuo normale editor di testo, ma devono iniziare con .env. Per esempio, .sviluppo.ambiente.

Passaggio 3: configurazione del modulo di configurazione

Segui il passaggio seguente per configurare il tuo modulo di configurazione a livello globale e specificare il .env percorsi:

  1. Nel modulo radice del tuo progetto (app.modue.ts) file, importa Modulo di configurazione da @nestjs/config.
  2. Aggiungere Modulo di configurazione alla tua importazioni array e chiamare il per Root metodo su di esso.
  3. Passa un oggetto di configurazione a per Root metodo, con un è globale proprietà a VERO. Questa opzione condivide la configurazione attraverso gli altri moduli della tua applicazione, il che significa che non dovrai configurarla più di una volta.
  4. Specifica il tuo envFilePath nel tuo oggetto di configurazione. Questa proprietà può essere una stringa (se ne hai una .env file) o un array contenente tutti i file .env file e dirà al modulo di configurazione quali file cercare.
// app.module.ts
@Modulo({
importazioni: [
Modulo di configurazione.per Root({
è globale: VERO,
envFilePath: 'Nome/i del/i file .env',
}),

Passaggio 4: utilizzo del servizio di configurazione per leggere le variabili di ambiente

Per accedere ai valori di configurazione iniziare con l'importazione ConfigService da @nestjs/config. Iniettare nel costruttore di classe dichiarando a privato variabile e assegnazione ConfigService come il suo tipo.

Per esempio:

costruttore(configurazione privata: ConfigService) {}

Per accedere a una variabile, chiamare il ottenere metodo sul ConfigService sul tuo privato variabile. Passagli il tipo di dati richiesto come generico e il nome della variabile di ambiente a cui desideri accedere.

Per esempio:

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

Il ConfigService cerca un valore con il nome “VALORE_ENV” e ne restituisce il valore.

Nota che se due .env i file contengono lo stesso nome di proprietà, il primo specificato in envFilePath avrà la precedenza.

L'importanza delle variabili d'ambiente

Le variabili d'ambiente sono una parte essenziale di un programma, in particolare nelle applicazioni più complesse. Ti consentono di controllare la configurazione del tuo programma attraverso un meccanismo comune di facile comprensione.

È possibile utilizzare le variabili di ambiente per controllare tutti gli aspetti della configurazione. Dalle diverse impostazioni del database ai dati sensibili come le chiavi API e le credenziali, ti consentono di modificare la configurazione senza toccare il codice sorgente sottostante.