Node.js : Gérer les variables d’environnement dans votre application avec dotenv
À un moment donné, vous devrez peut-être configurer votre application afin qu’elle puisse fonctionner dans différents environnements.
Vous pouvez également utiliser des ressources tierces qui nécessitent des informations d’identification API, des jetons OAuth ou des clés SSH pour y accéder.
Cependant, exposer ces informations d’identification dans le code source ou les valider dans le contrôle de version est contraire à la convention. C’est là que l’utilisation des variables d’environnement est pratique. Les informations sensibles ou spécifiques à la plate-forme requises par l’application peuvent être stockées localement dans des variables d’environnement.
1) Dotenv : Définition et explication
Dotenv est un module que nous utiliserons pour accéder aux variables d’environnement dans notre application. Lorsqu’une application Node.js s’exécute, elle injecte une variable globale appelée process.env qui contient des informations sur l’état de l’environnement dans lequel l’application s’exécute.
Dotenv nous permettra de charger nos variables d’environnement stockées dans le fichier .env dans process.env . Notez que vous pouvez également transmettre des variables d’environnement via le terminal lors de l’exécution de l’application Node.js.
2) Exemple:
Aujourd’hui, nous allons implémenter un serveur Node.js de base en utilisant Express et utiliser des variables d’environnement pour le configurer. Nous stockerons notre PORT dans le fichier .env et le chargerons dans process.env en utilisant le module dotenv . Nous accéderons ensuite à ces variables dans notre code pour exécuter avec succès notre application comme spécifié par l’environnement.
3) Configuration du projet Node.js
Dans un dossier séparé, exécutez npm init pour configurer votre projet NodeJs.
4) Dépendances du projet
Nous utiliserons un ensemble de dépendances avec notre application NodeJs. Exécutez la commande suivante dans le terminal à partir du répertoire racine du projet:
npm i express dotenv
5) Script de démarrage d’installation dans package.json
Remplacez les scripts existants dans package.json par le script suivant afin que nous puissions exécuter notre application :
"start": "node server.js"
Créez un fichier .env dans le répertoire racine du projet en exécutant la commande suivante dans le terminal:
touch .env && echo 'PORT=3000'> .env
Exécutez la commande suivante dans le terminal à partir du répertoire racine du projet pour créer le fichier index.js :
touch server.js
Ajoutez les lignes suivantes en haut du fichier server.js pour charger les variables d’environnement du fichier .env dans process.env :
6) Accéder aux variables d’environnement
Nous accèderons à notre PORT chargé dans process.env à partir de notre fichier server.js comme suit:
const MY_PORT = process.env.PORT;
Vous pouvez exécuter la commande suivante dans le terminal pour exécuter le serveur Web à l’aide du script de démarrage de package.json:
npm start
7) Ajouter .env à .gitignore
Notez qu’il n’est pas recommandé de valider les variables d’environnement dans le contrôle de version car elles peuvent contenir des informations confidentielles ou spécifiques à l’environnement.
Créez un fichier .gitignore dans le répertoire racine de l’application:
touch .gitignore && echo'.env'> .gitignore