"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Variables de entorno: una introducción muy breve al desarrollo JS

Variables de entorno: una introducción muy breve al desarrollo JS

Publicado el 2024-10-31
Navegar:131

Environment Variables: a very short intro for JS development

Este artículo pretende ser una breve investigación sobre las variables de entorno para mí, de ahí el estilo conciso

Lo basico

  • El terminal es una aplicación que en realidad es un emulador de terminal
  • Utilizamos el terminal para interactuar con el shell
  • El shell puede generar procesos, como un programa Javascript, mediante otra aplicación, como node
    • p.ej. shell -> nodo -> index.js
  • Cuando abrimos la terminal, se crea una nueva sesión en el shell
  • Esta sesión tiene variables que se pueden asociar con ella (por ejemplo, echo $USER imprime el nombre del usuario actual)

nodo

En el nodo, se accede a las variables de entorno a través del proceso global.env

console.log(process.env.USER); // username
  • Las aplicaciones normalmente acceden a secretos o datos relacionados con la configuración a través de variables de entorno
    • p.ej. proceso.env.DB_CONNECTION
    • Esto es útil porque queremos mantener los secretos en secreto y no todos los usuarios tendrán las mismas necesidades de configuración; esto permite un mejor desacoplamiento de la lógica y la configuración

métodos para cargar variables

Hay algunas maneras en que podemos hacer que estas variables estén disponibles para nuestros programas.

(1) ponerlos a disposición a través de la línea de comando:

Bastante sencillo: simplemente llame al comando con la variable en la línea de comando.

DB_CONNECTION="postgresql://username:password@host:port/database_name" node index.js

(2) almacenarlos en un archivo .env

Los archivos

.env constan de KEYS y VALUES que están separados por un signo igual.

DB_CONNECTION="postgresql://username:password@host:port/database_name"

Estos archivos son comunes y existen algunas formas de ponerlos a disposición de su aplicación.

directo

Utilice una herramienta como direnv que carga variables desde un archivo y las hace disponibles en el shell; Por lo general, esto se instala globalmente.

De forma predeterminada, direnv busca un archivo .envrc, pero también puede usar .env; consulte aquí para configurarlo para hacerlo.

dotenv

Utilice una herramienta como dotenv que carga variables de un archivo y las pone a disposición en process.env.

direnv vs dotenv

Hay ventajas y desventajas para cada método.

El uso de direnv es independiente del lenguaje y significa una dependencia menos, pero también significa que los consumidores de su aplicación necesitan su propia forma de cargar las variables de entorno si no usan direnv;

El uso de dotenv garantiza que los consumidores de la aplicación puedan usar un archivo .env sin preocupaciones, pero agrega un paquete solo para hacer algo que el shell puede hacer de forma nativa.

bandera de nodo

Node incluyó recientemente soporte (v20.6.0) para usar archivos .env directamente.

Se debe utilizar una bandera

node --env-file=.env index.js

Al igual que dotenv, esto hace que el contenido de .env esté disponible en process.env.

Resumen

  • las variables de entorno son tecnología nativa del shell
  • hay algunas formas diferentes de cargarlos: directamente, direnv, dotenv, node
  • direnv carga variables en su shell, pero dotenv y node solo las ponen a disposición de su aplicación a través de process.env
  • si usas node, probablemente deberías optar por usar el nuevo indicador --env-file
Declaración de liberación Este artículo se reproduce en: https://dev.to/charlesloder/environment-variables-a-very-short-intro-for-js-development-18j3?1 Si hay alguna infracción, comuníquese con [email protected] para borrarlo
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3