¿Qué es la biblioteca config?
La biblioteca config es un módulo popular para Node.js, diseñado para gestionar las configuraciones de las aplicaciones. Permite almacenar ajustes en archivos separados (JSON, YAML, JS) y cargarlos automáticamente según el entorno (development, production, staging). Esto evita la necesidad de codificar parámetros directamente, como claves de API, puertos del servidor o cadenas de conexión a la base de datos.
¿Para qué sirve?
En proyectos reales, la configuración a menudo cambia: localmente usas una URL de base de datos, en el servidor otra. Sin el módulo config, tendrías que cambiar las variables manualmente o usar construcciones complejas con process.env. La biblioteca simplifica este proceso: selecciona automáticamente el archivo basándose en la variable de entorno NODE_ENV (por ejemplo, development.json o production.json).
¿Cómo instalarlo?
Instala el módulo a través de npm:
npm install configFunciones principales
- Detección automática del entorno: por defecto busca el archivo
default.json, luego{NODE_ENV}.json. - Soporte de formatos: JSON, YAML, JS, TOML.
- Anidamiento profundo: acceso a campos anidados mediante punto (
config.get('database.host')). - Seguridad: se pueden ocultar datos sensibles (contraseñas) a través de variables de entorno.
Ejemplo de código en JavaScript (Node.js)
Crea la estructura de carpetas:
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');
// Obtenemos el puerto del servidor
const port = config.get('server.port');
// Obtenemos el host de la base de datos
const dbHost = config.get('database.host');
console.log(`Server running on port ${port}`);
console.log(`Database host: ${dbHost}`);
// Inicio del servidor
const http = require('http');
http.createServer((req, res) => {
res.end('Hello World');
}).listen(port);Ejecuta con diferentes entornos:
# Por defecto (development)
node app.js
# Server running on port 3000
# Production
NODE_ENV=production node app.js
# Server running on port 80¿Cuándo usarla?
La biblioteca config es ideal para aplicaciones Node.js medianas y grandes, donde se requiere separar la configuración por entornos. Es indispensable al desplegar en múltiples servidores, en arquitecturas de microservicios y al trabajar con datos confidenciales (a través de variables de entorno). Para proyectos pequeños o scripts, se puede usar simplemente process.env, pero config hace que el código sea más limpio y escalable.
También en la biblioteca
Mockery para PHP: guía completa con ejemplos prácticos
Trabajo con fechas en JavaScript (Node.js): mejores bibliotecas
Biblioteca estándar de Kotlin: una visión completa
Geolocalización y mapas en C# (.NET): bibliotecas, ejemplos y recomendaciones