Comment lire les variables d'environnement depuis Node.js
Le module principal process
de Node.js fournit la propriété env
qui héberge toutes les variables d'environnement définies au moment du lancement du processus.
Le code ci-dessous exécute app.js
et définit USER_ID
et USER_KEY
.
USER_ID=239482 USER_KEY=foobar node app.js
Cela passera à l'utilisateur USER_ID
comme 239482 et USER_KEY
comme foobar. Ceci est adapté pour les tests, cependant pour la production, vous configurerez probablement des scripts bash pour exporter des variables.
NOTE
process
ne nécessite pas de "require"
, il est automatiquement disponible.
Voici un exemple qui accède aux variables d'environnement USER_ID
et USER_KEY
, que nous avons définies dans le code ci-dessus.
process.env.USER_ID // "239482
process.env.USER_KEY // "foobar
De la même manière, vous pouvez accéder à n'importe quelle variable d'environnement personnalisée que vous avez définie. Node.js 20 a introduit un support expérimental pour les fichiers .env.
Maintenant, vous pouvez utiliser l'option --env-file
pour spécifier un fichier d'environnement lors de l'exécution de votre application Node.js. Voici un exemple de fichier .env
et comment accéder à ses variables en utilisant process.env
.
.env file
PORT=3000
Dans votre fichier js
process.env.PORT // 3000
Exécutez le fichier app.js
avec les variables d'environnement définies dans le fichier .env
.
node --env-file=.env app.js
Cette commande charge toutes les variables d'environnement du fichier .env
, les rendant disponibles à l'application sur process.env
. De plus, vous pouvez passer plusieurs arguments --env-file
. Les fichiers suivants remplacent les variables préexistantes définies dans les fichiers précédents.
node --env-file=.env --env-file=.development.env app.js
NOTE
Si la même variable est définie dans l'environnement et dans le fichier, la valeur de l'environnement a priorité.