Dotenv: variables de entorno Node js

Si estás buscando proteger u ocultar tus credenciales de algún servicio en tu aplicación web con node js, puedes usar dotenv. Aunque no es 100% una obligación, es importante proteger nuestros datos cuando nuestra aplicación ya esté en producción.

En este nuevo post te contaré sobre qué son las variables de entorno y por qué debemos usarlas en nuestro programa. Así mismo, si nuestro lenguaje es node js, cómo podemos aplicarla fácilmente. Pero antes de dejaré algunos enlaces importantes para iniciar.

Lo que vas a necesitar

Recuerda que la mayoría de mis post vienen con video incluido, por ende aquí te dejo los enlaces que menciono en el mismo.

  • Repositorio: haz click aquí para ver el repositorio del código usado con nodemailer.
  • dotenv: haz click aquí para ver el paquete en npm, su instalación y demás información.
  • Nodemailer: haz click aquí para ver el post completo de nodemailer.

Qué son las variables de entorno

qué son las variables de entorno
crear contrato solidity
Cómo crear contrato solidity: lotería en ethereum

En esta tercera sesión del curso veremos cómo crear contrato solidity para ethereum con base en una …

Qué es Gas y GasPrice: transacciones y congestión en blockchain

Cuando ejecutamos transacciones en blockchain es probable que desconozcamos los costos o tiempos de …

truffle ganache nodejs
Entorno de prueba blockchain con truffle ganache Nodejs: sesión 1

Si estás iniciando en la programación blockchain, es demasiado importante conocer los entornos de pr…

Por definición una variable de entorno es una variable dinámica que afecta los procesos en producción del ordenador. Las variables de entorno permiten asignar valores a variables, las cuales serán usadas en el código en ejecución para proteger su identidad.

Puedes pensarlo de la siguiente forma: si necesitamos conectar nuestra base de datos, como lo hemos visto en otros post (puedes verlo aquí), mongodb nos asigna un código, id o elemento único y con este, armamos la url para direccionar nuestro programa en node js a la base de datos. De ninguna manera podemos poner nuestro programa en producción sin que este enlace personalizado esté oculto.

Así mismo pasa con los diferentes credenciales por ejemplo del correo electrónico con su contraseña, para poder usar nodemailer como en el video o post pasado lo vimos. Piensa en proteger tus contraseñas o datos restringidos pero en programación. Pero ahora, ¿cómo podemos lograrlo? pues bien, aquí es donde entra dotenv.

Dotenv: qué es y cómo funciona

dotenv

dotenv es un paquete para node js que nos permite configurar o usar las variables de entorno en nuestro código. De igual forma que explicamos las variables de entorno arriba, dotenv nos permite crear un archivo dentro de nuestro código y en el agregar todos los datos que queremos ocultar del programa y luego asignarles una variable para poder usarlas en el programa.

Diferencia entre dotenv y gitignore

dotenv en gitignore

Puede que sea algo sin importancia para algunos pero si estamos iniciando esta pregunta es importante. Dotenv permite asignar variables a valores que queremos ocultar y así usarlos en el código sin que nadie los vea, incluso en los repositorios remotos. Por otro lado, gitignore permite omitir o ignorar tipos de archivos, rutas o carpetas en el repositorio remoto. No son lo mismo pero si es recomendable usarlos en conjunto.

Por cierto si no has visto aún el post sobre gitignore, haz click aquí para ver el post con video.

Agregar dotenv en archivo gitignore

Agrega estas líneas de código dentro de tu archivo gitignore:

# dotenv environment variable files
#.env
#.env.development.local
#.env.test.local
#.env.production.local
#.env.local

Cómo instalar

Para poder usarlo lo primero que debemos hacer es instalar dotenv en nuestro programa con el siguiente comando en la terminal

npm i dotenv

una vez instalado ya podremos verlo en nuestro archivo de paquetes.

Solicitar dotenv

Ahora el siguiente paso es muy importante: donde vayas a usarlo, sea una función, o archivo del servidor como app.js, o routes.js siempre debe estar en primer lugar sobre todas las solicitudes. Esto es algo predeterminado que debes tener en cuenta. Ahora para solicitarlo copia y pega la siguiente línea sobre todas tus solicitudes:

require('dotenv').config();

Recuerda, siempre sobre todas las solicitudes en el archivo que vayas a usar las variables.

Crear archivo y variables

Crear variables de entorno en dotenv

Ahora dentro del código, en vscode crea un nuevo archivo llamado .env y luego dentro de el podremos crear las variables necesarias para nuestro programa. Un ejemplo puede ser el siguiente:

SECRETOCORREO="escribetucorreo"

De esta manera el correo en este caso, será necesario para configurar nodemailer pero nunca se mostrará en el repositorio remoto. Lo que se mostrará será la variable de entorno.

reemplazar variables de entorno en el programa

Ahora para usar la variable creada, escribiremos de la siguiente forma:

process.env.SECRETOCORREO

Esta línea de código debe ser usada exactamente donde te solicitan el correo en nodemailer. Justo como en la imagen superior. Listo! de esta manera ya tenemos el código funcionando correctamente y nadie podrá ver tus datos personales o bien credenciales de cualquier tipo de servicio que quieras usar.

No olvides claramente agregar a gitignore el tipo de archivo env para que sea omitido del repositorio remoto.

Ver en repositorio remoto: github

dotenv en github

Como podemos ver en la imagen anterior, dentro del repositorio en github no se puede ver el archivo .env ya que fue omitido den gitignore.

Variables de entorno en github

Variables de entorno en github

Así mismo vemos cómo las variables de entorno creadas para el correo y la contraseña, fueron usadas en la configuración de nodemailer. Igualmente no se ven nuestros credenciales sino las variables. De esta manera protegiendo nuestros datos.

Video de ayuda

Hice este video en mi canal de youtube para que puedas ver el paso a paso del proceso realizado. Si te gusta, no olvides dar like y suscribirte!

excel4node youtube

Producto sugerido

Si eres como yo que pasa bastatne tiempo frente al compu, puede que la barra de luz te sirva bastante para cuidar tu vista en esas largas jornadas. También te dejo aquí el post para que veas la reseña completa.

LAMPARA – 4528 valoraciones

Quntis Lámpara para monitor de computadora, barra de luz para monitor de pantalla para el cuidado de los ojos, lámpara de tareas LED de lectura electrónica con atenuación automática, barra de lámpara regulable, control táctil, sin deslumbramiento de pantalla, ahorro de espacio, lámparas de escritorio para oficina en casa

  • Sin reflejos de pantalla y sin parpadeo, antiluz azul: la barra de luz para monitor de computadora Quntis tiene un diseño óptico asimétrico único que ilumina solo tu escritorio y teclado mientras garantiza que no se reflejen en la pantalla. Gracias a su avanzado sistema de protección ocular, nuestras lámparas de escritorio para oficina en casa bloquean la luz azul y la radiación óptica, aliviando eficazmente la fatiga ocular para proteger tus ojos. Es la opción ideal para estudiantes, diseñadores de pintura y trabajadores de oficina de negocios.

VER EN AMAZON

Conclusión

Las variables de entorno son extramadamente necestarias en un proyecto ya ejecutado en producción para proteger cualquier tipo de dato o credencial importante de nuestra empresa. Así mismo, aprender a usarlo en node js con dotenv es clave para la salud del código.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 0 / 5. Recuento de votos: 0

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en los medios sociales!

Resumen
Dotenv | Variables de entorno Node JS | Qué es y Cómo funciona
Nombre del artículo
Dotenv | Variables de entorno Node JS | Qué es y Cómo funciona
Descripción
Si estás buscando proteger tus credenciales personales dentro de tu aplicación web con Node js, debes conocer dotenv. Haz click para ver ✅
Autor
Publisher Name
Eduardo Arias
Publisher Logo

Deja un comentario

Carrito de compra