web-dev-qa-db-fra.com

Lire les variables d'environnement dans Node.js

Est-il possible de lire les variables d'environnement dans le code Node.js?

Comme par exemple os.environ['HOME'] de Python.

1206
Jayesh
process.env.ENV_VARIABLE

ENV_VARIABLE est le nom de la variable à laquelle vous souhaitez accéder.

Voir Docs Node.js pour process.env .

1787
Jayesh

Lorsque vous utilisez Node.js , vous pouvez extraire les variables d’environnement par clé à partir de l’objet process.env:

par exemple

var mode   = process.env.NODE_ENV;
var apiKey = process.env.apiKey; // '42348901293989849243'

Voici la réponse qui va expliquer définition des variables d'environnement dans node.js

128
Subodh Ghulaxe

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.VARNAME doit être codé en dur dans votre programme.

51
user2574650

Pour récupérer les variables d'environnement dans Node.JS, vous pouvez utiliser process.env.VARIABLE_NAME, mais n'oubliez pas que l'affectation d'une propriété sur process.env convertira implicitement la valeur en chaîne.

Évitez la logique booléenne

Même si votre fichier .env définit une variable telle que SHOULD_SEND = false ou SHOULD_SEND =, les valeurs seront converties en chaînes (“False” et “0” respectivement) et non 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 devriez faire des vérifications explicites. J'ai trouvé que, selon le nom de l'environnement, les choses allaient très loin.

 db.connect({
  debug: process.env.NODE_ENV === 'development'
 });
23
Igor Litvinovich

Vous pouvez utiliser le package env pour gérer les variables d’environnement par projet:

  • Créez un fichier .env sous le répertoire du projet et placez-y toutes vos variables.
  • Ajoutez cette ligne en haut du fichier d’entrée de votre application:
    require('dotenv').config();

Terminé. Vous pouvez maintenant accéder à vos variables d’environnement avec process.env.ENV_NAME.

18
Huy Vo

Pourquoi ne pas les utiliser dans le répertoire Utilisateurs du fichier .bash_profile afin de ne pas avoir à pousser de fichiers en production avec vos variables.

0
Brad Vanderbush