https://a.storyblok.com/f/270183/1368x665/bf41915afb/25feb_dev-blog_java-enviormental-variables.png

Cómo utilizar variables de entorno en JavaScript con Dotenv

Publicado el February 18, 2025

Tiempo de lectura: 2 minutos

Introducción

Codificar información sensible en los archivos fuente es como escribir la contraseña en una nota adhesiva y dejarla en el portátil a la vista de todo el mundo: ¡no es una buena idea! Un enfoque mejor y más seguro es utilizar variables de entornoque almacenan de forma segura datos sensibles como claves API y contraseñas fuera de tu código base.

No todos los frameworks de JavaScript importan automáticamente variables de entorno, por lo que el uso de un módulo como dotenv -una biblioteca ligera y sin dependencias- es una buena práctica para simplificar este proceso. Dotenv lee las variables definidas en un archivo .env y las carga en el objeto process.env de Node.js, que actúa como almacén global de variables de entorno en forma de pares clave-valor (todos los valores se guardan como cadenas). Esta configuración garantiza que tu información sensible sea accesible de forma segura en toda tu aplicación sin exponerla en tu código.

Ahora, vamos a entrar en cómo utilizar las variables de entorno con dotenv con un ejemplo práctico: enviar un mensaje de WhatsApp utilizando la API de Messages de Vonage¡!

Instalar Dotenv

Ejecute los siguientes comandos en su terminal para inicializar npminstalar dotenv, e inicializar el repositorio git en el proyecto:

// initialize npm on the project
npm init -y

// install dotenv
npm install dotenv --save

// initialize git repo
git init

Utilizar Dotenv

Para empezar a utilizar dotenv, cree un archivo .env en el directorio raíz de su proyecto. Este archivo contendrá tus variables de entorno. Puede seguir el tutorial completo sobre enviar un mensaje de WhatsApp para encontrar estos valores en tu aplicación de Vonage:

VONAGE_API_KEY="your-api-key"
VONAGE_API_SECRET="your-api-secret"
VONAGE_APPLICATION_ID="your-application-id"
VONAGE_PRIVATE_KEY="path/to/your/private.key"
TO_NUMBER="recipient-phone-number"
WHATSAPP_NUMBER="sender-phone-number"

Nota: si su variable contiene espacios, enciérrela entre comillas.

Envía un mensaje de WhatsApp con Messages API de Vonage

A continuación, cree un archivo send-whatsapp-message.js archivo.

Añada esta línea como punto de entrada de la aplicación para configurar dotenv:

require('dotenv').config();

Añade esta línea y ejecútala, luego elimínala una vez que hayas confirmado que dotenv funciona:

console.log(process.env);

Para acceder a las variables de entorno en Node.js, utilice process.env seguido del nombre de la variable. Por ejemplo:

const VONAGE_APPLICATION_ID = process.env.VONAGE_APPLICATION_ID;

Añade el código restante:

// initialize dependencies 
const VONAGE_APPLICATION_ID = process.env.VONAGE_APPLICATION_ID;
const VONAGE_PRIVATE_KEY = process.env.VONAGE_PRIVATE_KEY;

const TO_NUMBER = process.env.TO_NUMBER;
const WHATSAPP_NUMBER = process.env.WHATSAPP_NUMBER;

const { Vonage } = require('@vonage/server-sdk');
const { WhatsAppText } = require('@vonage/messages');

const vonage = new Vonage({
  applicationId: VONAGE_APPLICATION_ID,
  privateKey: VONAGE_PRIVATE_KEY,
});

// the logic
vonage.messages.send(
  new WhatsAppText({
    text: 'This is a WhatsApp Message text message sent using the Messages API',
    to: TO_NUMBER,
    from: WHATSAPP_NUMBER,
  }),
)
  .then((resp) => console.log(resp.messageUUID))
  .catch((error) => console.error(error));

Ahora, si ejecutas el código, debería acceder a tus variables de entorno para enviar el mensaje:

node send-whatsapp-message.js

Otra forma de invocar .env dentro de un script. Esto significa que no necesitará require('dotenv').config() al principio de su archivo send-whatsapp-message.js archivo. En su lugar, vaya al archivo package.json de tu proyecto y crea un script llamado “dev” como el siguiente:

"scripts": {
"dev": "node -r dotenv/config send-whatsapp-message.js"

Si ejecutas el script, seguirás teniendo tus variables de entorno.

npm run dev

Gestión de múltiples entornos

En proyectos complejos, es posible que necesite archivos .env para los entornos de desarrollo, pruebas y producción. Herramientas como dotenv-cli pueden ayudarte a gestionar múltiples entornos.

Por ejemplo, puede utilizar diferentes .env archivos:

  • .env.local

  • .env.production

Cárguelos con el comando dotenv-cli CLI:

$ dotenv -e .env.production node send-whatsapp-message.js

Despliegue seguro

Para un despliegue seguro, .env los archivos nunca deben confirmarse en el control de código fuente. Utilice .gitignore para excluirlos.

Para ello, cree un archivo .gitignore con el siguiente contenido:

.env

Ahora, cuando haces un commit en git, todo excepto el archivo(s) listado(s) será(n) enviado(s) al repositorio.

Conclusión

Ahora que has aprendido a utilizar las variables de entorno en JavaScript, puedes dejar de codificar tu información personal en el código y publicarla en prod para que todo el mundo la vea. ¿Tienes otras buenas prácticas sobre el uso de variables de entorno? Si es así, compártelas y etiquétame - Me encantaría conocerlas. Además, no dudes en unirte a nuestra comunidad Slack y síguenos en Xantes conocido como Twitter. ¡Feliz programación!

Compartir:

https://a.storyblok.com/f/270183/384x384/b68093ec17/diana-pham.png
Diana PhamDefensor del Desarrollador

Diana es desarrolladora de Vonage. Le gusta comer ostras frescas.