Qu'est-ce que la bibliothèque config ?
La bibliothèque config est un module populaire pour Node.js, conçu pour gérer les configurations d'applications. Elle permet de stocker les paramètres dans des fichiers séparés (JSON, YAML, JS) et de les charger automatiquement en fonction de l'environnement (development, production, staging). Cela évite de devoir coder en dur des paramètres tels que les clés API, les ports du serveur ou les chaînes de connexion à la base de données.
Pourquoi en a-t-on besoin ?
Dans les projets réels, la configuration change souvent : localement vous utilisez une URL de base de données, sur le serveur une autre. Sans le module config, il faudrait modifier manuellement les variables ou utiliser des constructions complexes avec process.env. La bibliothèque simplifie ce processus : elle sélectionne automatiquement le fichier en fonction de la variable d'environnement NODE_ENV (par exemple, development.json ou production.json).
Comment l'installer ?
Installez le module via npm :
npm install configFonctionnalités principales
- Détection automatique de l'environnement : par défaut, il cherche le fichier
default.json, puis{NODE_ENV}.json. - Prise en charge des formats : JSON, YAML, JS, TOML.
- Imbrication profonde : accès aux champs imbriqués via le point (
config.get('database.host')). - Sécurité : possibilité de masquer les données sensibles (mots de passe) via les variables d'environnement.
Exemple de code en JavaScript (Node.js)
Créez la structure de dossiers :
project/
├── config/
│ ├── default.json
│ └── production.json
├── app.js
└── package.jsonconfig/default.json :
{
"server": {
"port": 3000
},
"database": {
"host": "localhost",
"port": 5432
}
}config/production.json :
{
"server": {
"port": 80
},
"database": {
"host": "prod-db.example.com"
}
}app.js :
const config = require('config');
// On récupère le port du serveur
const port = config.get('server.port');
// On récupère l'hôte de la base de données
const dbHost = config.get('database.host');
console.log(`Server running on port ${port}`);
console.log(`Database host: ${dbHost}`);
// Démarrage du serveur
const http = require('http');
http.createServer((req, res) => {
res.end('Hello World');
}).listen(port);Exécutez avec différents environnements :
# Par défaut (development)
node app.js
# Server running on port 3000
# Production
NODE_ENV=production node app.js
# Server running on port 80Quand l'utiliser ?
La bibliothèque config est idéale pour les applications Node.js de taille moyenne à grande, où une séparation des paramètres par environnement est nécessaire. Elle est indispensable lors du déploiement sur plusieurs serveurs, dans une architecture de microservices et lors du travail avec des données confidentielles (via les variables d'environnement). Pour les petits projets ou les scripts, on peut se contenter d'un simple process.env, mais config rend le code plus propre et plus évolutif.
Aussi dans la bibliothèque
Traitement JSON en Rust : serde_json, simd-json, json5 et autres bibliothèques
Bibliothèque cpp-httplib : client OAuth 2.0 en C++ pour applications web
GraphQL en Go : Guide complet des bibliothèques et outils
PM2 : Surveillance et gestion des applications JavaScript