Risposte:
process.env.ENV_VARIABLE
Dov'è ENV_VARIABLEil nome della variabile a cui si desidera accedere.
process.env.FOO = "foo";lavori.
process.envè sterilizzato per motivi di sicurezza. Sono disponibili solo le variabili che iniziano con REACT_ENV_. Vedi: github.com/facebookincubator/create-react-app/blob/master/…
REACT_APP_
Quando si utilizza Node.js , è possibile recuperare le variabili di ambiente in base alla chiave process.envdall'oggetto:
per esempio
var mode = process.env.NODE_ENV;
var apiKey = process.env.apiKey; // '42348901293989849243'
Ecco la risposta che spiegherà come impostare le variabili di ambiente in node.js
process.envè integrato in api node.js.
Se si desidera utilizzare una chiave di stringa generata nel programma Node.js, ad esempio var v = 'HOME', è possibile utilizzare
process.env[v].
Altrimenti, process.env.VARNAMEdeve essere hardcoded nel tuo programma.
process.env['HOME']?
Per recuperare le variabili di ambiente in Node.JS è possibile utilizzare process.env.VARIABLE_NAME , ma non dimenticare che l'assegnazione di una proprietà su process.env convertirà implicitamente il valore in una stringa.
Anche se il tuo file .env definisce una variabile come SHOULD_SEND = false o SHOULD_SEND = 0 , i valori verranno convertiti in stringhe ( "false" e "0" rispettivamente) e non interpretati come booleani.
if (process.env.SHOULD_SEND) {
mailer.send();
} else {
console.log("this won't be reached with values like false and 0");
}
Invece, dovresti fare controlli espliciti. Ho scoperto che a seconda del nome dell'ambiente va molto lontano.
db.connect({
debug: process.env.NODE_ENV === 'development'
});
È possibile utilizzare il pacchetto env per gestire le variabili di ambiente per progetto:
.envfile nella directory del progetto e inserisci tutte le tue variabili lì.require('dotenv').config();Fatto. Ora puoi accedere alle variabili di ambiente con process.env.ENV_NAME.
envlibreria.
envdirutilità.
nodespecifico.
Perché non usarli nella directory Users nel .bash_profilefile, quindi non è necessario inviare alcun file con le variabili alla produzione?
envin un'altra finestra della shell mentre il processo del nodo è in esecuzione, né nella stessa shell dopo la fine del processo del nodo.