¿Has escuchado hablar del término dotenv en Node.js?

| Última modificación: 8 de mayo de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Si eres desarrollador o te estás iniciando en el mundo del desarrollo web, es probable que hayas oído hablar del término dotenv en Node.js. En este artículo, vamos a profundizar en qué es exactamente dotenv en Node.js y cómo puede ser una herramienta útil para mejorar la seguridad y la flexibilidad de nuestras aplicaciones web.

dotenv en Node.js

¿Qué son las variables de entorno y el archivo .env (dotenv en Node.js)?

Antes de sumergirnos en dotenv en Node.js, es importante comprender el concepto de variables de entorno. Las variables de entorno son valores dinámicos que se pueden configurar fuera de nuestro código y que afectan al comportamiento de nuestra aplicación. Estos valores pueden incluir información sensible, como contraseñas de bases de datos o claves de API, que no queremos exponer directamente en nuestro código fuente.

El archivo .env es una forma de almacenar y gestionar estas variables de entorno. Es un archivo de configuración que se utiliza para definir y almacenar diferentes valores clave-valor que nuestra aplicación utilizará durante su ejecución. Cada línea del archivo .env sigue la sintaxis NOMBRE_VARIABLE=valor.

¿Por qué es importante ocultar nuestras variables de entorno?

Imagina que tienes una aplicación web que se conecta a una base de datos para almacenar y recuperar datos importantes. Si estas credenciales de la base de datos se almacenan directamente en el código, cualquier persona que tenga acceso a ese código podría verlas y utilizarlas para fines maliciosos. Además, si cambias de entorno (por ejemplo, de desarrollo a producción), tendrías que modificar manualmente cada referencia en el código, lo cual podría ser tedioso y generar errores.

Aquí es donde dotenv en Node.js entra en juego. Al utilizar este módulo de Node.js, podemos cargar automáticamente las variables de entorno definidas en el archivo .env en el objeto process.env. De esta manera, podemos acceder a estas variables en cualquier parte de nuestro código utilizando process.env.NOMBRE_VARIABLE, lo que nos permite mantener nuestro código limpio, seguro y fácil de configurar en diferentes entornos.

¿Cómo instalar y usar dotenv en Node.js en nuestro código?

Usar dotenv en Node.js es sencillo. Primero, debemos instalar el módulo como una dependencia en nuestro proyecto. Podemos hacerlo a través de npm (Node Package Manager) ejecutando el siguiente comando en la terminal:

//dotenv en Node.js
npm install dotenv

Una vez que dotenv en Node.js está instalado, podemos importarlo al principio de nuestro archivo de entrada (por ejemplo, app.js o index.js) utilizando:

//dotenv en Node.js
require('dotenv').config();

Con esta simple línea de código, dotenv cargará automáticamente las variables de entorno definidas en el archivo .env en el objeto process.env. Ahora, podemos acceder a estas variables en cualquier parte de nuestro código sin preocuparnos por exponer información sensible.

Ejemplo de uso de variables de entorno con dotenv en Node.js

Para ilustrar cómo funciona dotenv, imaginemos que tenemos una aplicación web que se conecta a una base de datos remota y que utiliza una clave de API para acceder a un servicio externo. Primero, creamos nuestro archivo .env con las siguientes variables:

//dotenv en Node.js
DB_HOST=host_de_la_base_de_datos
DB_USER=usuario_de_la_base_de_datos
DB_PASSWORD=contraseña_de_la_base_de_datos
API_KEY=clave_de_api

Luego, en nuestro código, podemos utilizar estas variables de entorno de la siguiente manera:

//dotenv en Node.js
const express = require('express');
const app = express();

// Acceder a las variables de entorno
const dbHost = process.env.DB_HOST;
const dbUser = process.env.DB_USER;
const dbPassword = process.env.DB_PASSWORD;
const apiKey = process.env.API_KEY;

// Lógica de la aplicación utilizando las variables de entorno
// ...

app.listen(3000, () => {
  console.log('Aplicación web iniciada en el puerto 3000.');
});

Con esta configuración, estamos protegiendo nuestras credenciales de la base de datos y la clave de API y evitamos que sean visibles en nuestro código fuente.

Un paso más allá de dotenv

Si te apasiona el desarrollo web y deseas convertirte en un desarrollador experto, el Desarrollo Web Full Stack Bootcamp de KeepCoding es perfecto para ti. En este bootcamp, aprenderás a dominar las habilidades necesarias para construir aplicaciones web avanzadas desde cero, gracias al uso de las últimas tecnologías y prácticas de la industria.

Imagina trabajar en un sector tecnológico en constante crecimiento, con una alta demanda de profesionales y con salarios altos que brindan estabilidad laboral. Al finalizar este bootcamp, estarás listo para enfrentarte a los desafíos del mundo del desarrollo web y abrirte camino en esta industria llena de oportunidades. ¡Pide información y da ya mismo el paso que te cambiará la vida!

Alberto Casero

Alberto Casero es CTO en Watium, Fundador de Kas Factory & Coordinador del Bootcamp en Desarrollo Web.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo Web

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado