dotenv es una librería para Node.js que permite cargar variables de entorno desde un archivo .env
al process.env
. Esto es útil para gestionar configuraciones sensibles como claves API, contraseñas o rutas de acceso, evitando que estas se expongan directamente en el código fuente.
Usar dotenv facilita la configuración de entornos de desarrollo, pruebas y producción, ya que cada entorno puede tener su propio archivo .env
con valores personalizados.
1. Instalación
Para instalar dotenv en tu proyecto Node.js, ejecuta el siguiente comando:
npm install dotenv
2. Crear el archivo .env
Dentro del directorio raíz de tu proyecto, crea un archivo llamado .env
donde se almacenarán tus variables de entorno. Ejemplo:
# .env
PORT=3000
DB_HOST=localhost
DB_USER=root
DB_PASS=securepassword
3. Configurar dotenv en tu aplicación
En tu archivo principal (por ejemplo, app.js
o server.js
), añade el siguiente código para cargar las variables del archivo .env
:
require('dotenv').config();
const port = process.env.PORT;
const dbHost = process.env.DB_HOST;
const dbUser = process.env.DB_USER;
const dbPass = process.env.DB_PASS;
console.log(`Servidor corriendo en el puerto ${port}`);
console.log(`Conectando a la base de datos en ${dbHost} con el usuario ${dbUser}`);
4. Usar las variables de entorno
Ahora, puedes utilizar las variables de entorno en cualquier parte de tu aplicación accediendo a process.env.VARIABLE_NAME
.
Utiliza dotenv para configurar el puerto en el que corre tu servidor.
const port = process.env.PORT || 8080;
app.listen(port, () => {
console.log(`Servidor corriendo en el puerto ${port}`);
});
Utiliza dotenv para almacenar las credenciales de la base de datos de manera segura.
const dbConfig = {
host: process.env.DB_HOST,
user: process.env.DB_USER,
password: process.env.DB_PASS,
};
.env
al repositorio: Añade el archivo .env
a tu .gitignore
para evitar que las variables sensibles se suban al control de versiones.
Para más información, puedes visitar la documentación oficial de dotenv: dotenv en GitHub.
Jorge García
Fullstack developer