Skip to content

Come leggere le variabili d'ambiente da Node.js

Il modulo core process di Node.js fornisce la proprietà env che ospita tutte le variabili d'ambiente impostate al momento dell'avvio del processo.

Il codice seguente esegue app.js e imposta USER_ID e USER_KEY.

bash
USER_ID=239482 USER_KEY=foobar node app.js

Questo passerà l'utente USER_ID come 239482 e USER_KEY come foobar. Questo è adatto per i test, tuttavia per la produzione, probabilmente configurerai alcuni script bash per esportare le variabili.

NOTA

process non richiede un "require", è automaticamente disponibile.

Ecco un esempio che accede alle variabili d'ambiente USER_ID e USER_KEY, che abbiamo impostato nel codice precedente.

javascript
process.env.USER_ID // "239482
process.env.USER_KEY // "foobar

Allo stesso modo puoi accedere a qualsiasi variabile d'ambiente personalizzata che imposti. Node.js 20 ha introdotto il supporto sperimentale per i file .env.

Ora, puoi usare il flag --env-file per specificare un file di ambiente quando esegui la tua applicazione Node.js. Ecco un esempio di file .env e come accedere alle sue variabili usando process.env.

bash
.env file
PORT=3000

Nel tuo file js

javascript
process.env.PORT // 3000

Esegui il file app.js con le variabili d'ambiente impostate nel file .env.

js
node --env-file=.env app.js

Questo comando carica tutte le variabili d'ambiente dal file .env, rendendole disponibili all'applicazione su process.env. Inoltre, puoi passare più argomenti --env-file. I file successivi sovrascrivono le variabili preesistenti definite nei file precedenti.

bash
node --env-file=.env --env-file=.development.env app.js

NOTA

Se la stessa variabile è definita nell'ambiente e nel file, il valore dall'ambiente ha la precedenza.