Inyección de variables de entorno en aplicaciones Node.js

Autor: | Última modificación: 15 de marzo de 2024 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

Algunos de nuestros reconocimientos:

Premios KeepCoding

En el emocionante mundo del desarrollo web y de aplicaciones, la gestión de variables de entorno es una habilidad esencial. Imagina que estás construyendo una aplicación Node.js y necesitas almacenar datos de configuración sensibles, como claves de API, contraseñas o información de conexión a bases de datos. ¿Cómo garantizas que estos datos estén seguros y no se expongan en tu código fuente? La respuesta es la inyección de variables de entorno.

¿Qué son las variables de entorno?

Antes de sumergirnos en la inyección de variables de entorno, es importante entender qué. Las variables de entorno son valores clave-valor que pueden configurarse a nivel de sistema operativo y a las que las aplicaciones pueden acceder para obtener información específica. Estas variables se almacenan fuera del código base de tu aplicación, lo que significa que no están expuestas al público y, por lo tanto, se mantienen seguras.

Inyección de variables de entorno en aplicaciones Node.js

Archivos .env

Una de las formas más comunes de gestionar las variables de entorno en Node.js es a través de archivos .env. Estos archivos son simples archivos de texto que almacenan las variables de entorno en pares clave-valor. Aquí tienes un ejemplo de cómo se vería un archivo .env:

DATABASE_URL=postgres://usuario:contraseña@localhost/mi_basededatos API_KEY=mi_clave_secreta

En tu código fuente, puedes acceder a estas variables de entorno utilizando bibliotecas como dotenv, que permite cargar automáticamente las variables de un archivo .env en el entorno de tu aplicación.

En el package.json

Otra opción para gestionar las variables de entorno es agregarlas directamente en el archivo package.json. Esto es especialmente útil cuando deseas configurar variables de entorno específicas para diferentes entornos, como desarrollo (dev) o producción (prod). Por ejemplo:

"scripts": { 
"start": "NODE_ENV=prod node mi_aplicacion.js", 
"start-dev": "NODE_ENV=dev node mi_aplicacion.js" 
}, 
"config": { 
"dev": { 
"DATABASE_URL":"postgres://usuario_dev:contraseña_dev@localhost/mi_basededatos_dev" }, 
"prod": { 
"DATABASE_URL":"postgres://usuario_prod:contraseña_prod@localhost/mi_basededatos_prod" 
} 
}

En este caso, puedes acceder a las variables de entorno según el entorno actual definido en el script de inicio.

Beneficios de la inyección de variables de entorno

La inyección de variables de entorno ofrece varios beneficios importantes para tus aplicaciones Node.js:

  1. Seguridad: Mantener información sensible fuera del código fuente reduce el riesgo de exposición accidental de datos confidenciales.
  2. Portabilidad: Puedes cambiar fácilmente la configuración de tu aplicación para diferentes entornos sin tener que modificar el código fuente.
  3. Facilita la colaboración: Compartir el código con otros desarrolladores se vuelve más sencillo, ya que no necesitan tus credenciales personales para ejecutar la aplicación en sus entornos de desarrollo.
  4. Escalabilidad: Con la inyección de variables de entorno, puedes escalar tu aplicación sin preocuparte por la gestión de configuraciones específicas de cada entorno.

Cómo gestionar las variables de entorno

Ahora que comprendes la importancia de la inyección de variables de entorno, es hora de aprender cómo implementarla en tus aplicaciones Node.js. Aquí hay una guía paso a paso:

  • Crea un archivo .env: Comienza creando un archivo .env en la raíz de tu proyecto. Aquí es donde almacenarás tus variables de entorno. Asegúrate de no compartir este archivo en repositorios públicos, ya que podría contener información sensible.
  • Instala la biblioteca dotenv: Utiliza npm o yarn para instalar la biblioteca dotenv en tu proyecto:
npm install dotenv
  • Configura tus variables de entorno: Abre el archivo .env que has creado y agrega las variables de entorno necesarias en el formato NOMBRE=VALOR. Por ejemplo:
PORT=3000 
DATABASE_URL=postgres://usuario:contraseña@localhost/mi_basededatos API_KEY=mi_clave_secreta
  • Carga las variables de entorno en tu código: En el archivo de entrada de tu aplicación, generalmente app.js o index.js, importa y carga las variables de entorno utilizando dotenv al principio de tu archivo:
require('dotenv').config();

Luego, puedes acceder a las variables de entorno en tu aplicación de la siguiente manera:

const port = process.env.PORT; 
const databaseUrl = process.env.DATABASE_URL; 
const apiKey = process.env.API_KEY;
  • ¡Listo para desarrollar!: Con tus variables de entorno correctamente configuradas, estás listo para desarrollar tu aplicación Node.js de manera segura y eficiente.

La inyección de variables de entorno es una práctica esencial para cualquier desarrollador de aplicaciones Node.js. Permite gestionar de manera segura y eficiente la configuración de tus aplicaciones, protegiendo información confidencial y facilitando la colaboración entre equipos de desarrollo.

Continúa aprendiendo en KeepCoding

Si estás interesado en aprender más sobre desarrollo web y convertirte en un profesional del sector tecnológico, te recomendamos unirte al Desarrollo Web Full Stack Bootcamp de KeepCoding. Este programa cambiará tu vida al proporcionarte las habilidades necesarias para ingresar al sector IT en poco tiempo. En la industria tecnológica, la demanda de profesionales es alta, lo que significa salarios altos y una estabilidad laboral que pocos otros sectores pueden ofrecer. ¡Anímate a transformar tu futuro y pide más información ahora!

Artículos ms leídos

¡CONVOCATORIA ABIERTA!

Desarrollo Web

Full Stack Bootcamp

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