javascript environment - Lire les variables d'environnement dans Node.js




windows config (5)

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

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


Answers

Vous pouvez utiliser env package pour gérer vos variables d'environnement par projet:

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

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



Si vous voulez 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.


Lorsque vous utilisez Node.js , vous pouvez récupérer 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 expliquera la définition des variables d'environnement dans node.js


Bibliothèque Stdio

Le moyen le plus simple d'analyser les arguments de la ligne de commande dans NodeJS est d'utiliser le module stdio . Inspiré par l'utilitaire UNIX getopt , il est aussi trivial que suit:

var stdio = require('stdio');
var ops = stdio.getopt({
    'check': {key: 'c', args: 2, description: 'What this option means'},
    'map': {key: 'm', description: 'Another description'},
    'kaka': {args: 1, mandatory: true},
    'ooo': {key: 'o'}
});

Si vous exécutez le code précédent avec cette commande:

node <your_script.js> -c 23 45 --map -k 23 file1 file2

Alors l'objet ops sera comme suit:

{ check: [ '23', '45' ],
  args: [ 'file1', 'file2' ],
  map: true,
  kaka: '23' }

Vous pouvez donc l'utiliser comme vous le souhaitez. Par exemple:

if (ops.kaka && ops.check) {
    console.log(ops.kaka + ops.check[0]);
}

Les options groupées sont également supportées, donc vous pouvez écrire -om au lieu de -o -m .

De plus, stdio peut générer automatiquement une sortie d'aide / utilisation. Si vous appelez ops.printHelp() vous obtiendrez:

USAGE: node something.js [--check <ARG1> <ARG2>] [--kaka] [--ooo] [--map]
  -c, --check <ARG1> <ARG2>   What this option means (mandatory)
  -k, --kaka                  (mandatory)
  --map                       Another description
  -o, --ooo

Le message précédent est également montré si une option obligatoire n'est pas donnée (précédée par le message d'erreur) ou si elle est mal spécifiée (par exemple, si vous spécifiez un argument unique pour une option et qu'elle a besoin de 2).

Vous pouvez installer le module stdio utilisant NPM :

npm install stdio




javascript node.js environment-variables