Réponses:
process.env.ENV_VARIABLE
Où ENV_VARIABLEest le nom de la variable à laquelle vous souhaitez accéder.
Voir les documents Node.js pourprocess.env .
process.env.FOO = "foo";travaux.
process.envest désinfecté pour des raisons de sécurité. Seules les variables commençant par REACT_ENV_sont disponibles. Voir: github.com/facebookincubator/create-react-app/blob/master/…
REACT_APP_
Lorsque vous utilisez Node.js , vous pouvez récupérer des variables d'environnement par clé à partir de l' process.envobjet:
par exemple
var mode = process.env.NODE_ENV;
var apiKey = process.env.apiKey; // '42348901293989849243'
Voici la réponse qui expliquera la définition des variables d'environnement dans node.js
process.envest intégré à l'API node.js.
Si vous souhaitez utiliser une clé de chaîne générée dans votre programme Node.js, par exemple var v = 'HOME', vous pouvez utiliser
process.env[v].
Sinon, process.env.VARNAMEdoit être codé en dur dans votre programme.
process.env['HOME']?
Pour récupérer des variables d'environnement dans Node.JS, vous pouvez utiliser process.env.VARIABLE_NAME , mais n'oubliez pas que l'attribution d'une propriété sur process.env convertira implicitement la valeur en chaîne.
Même si votre fichier .env définit une variable comme SHOULD_SEND = false ou SHOULD_SEND = 0 , les valeurs seront converties en chaînes ( "false" et "0" respectivement) et ne seront pas interprétées comme des booléens.
if (process.env.SHOULD_SEND) {
mailer.send();
} else {
console.log("this won't be reached with values like false and 0");
}
Au lieu de cela, vous devez effectuer des vérifications explicites. J'ai trouvé que selon le nom de l'environnement, cela allait très loin.
db.connect({
debug: process.env.NODE_ENV === 'development'
});
Vous pouvez utiliser le package env pour gérer vos variables d'environnement par projet:
.envfichier dans le répertoire du projet et placez-y toutes vos variables.require('dotenv').config();Terminé. Vous pouvez maintenant accéder à vos variables d'environnement avec process.env.ENV_NAME.
envbibliothèque.
envdirutilitaire.
nodespécifique.
Pourquoi ne pas les utiliser dans le répertoire Users du .bash_profilefichier, vous n'avez donc pas besoin de pousser des fichiers avec vos variables en production?
envdans une autre fenêtre de shell pendant que le processus de noeud est en cours d'exécution, ni dans le même shell après la fin du processus de noeud.