Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

932
Vistas
¿Cómo puedo verificar si una variable de entorno está configurada en Node.js?

Me gustaría verificar si una variable de entorno está configurada en mi servidor Express JS y realizar diferentes operaciones dependiendo de si está configurada o no.

He intentado esto:

 if(process.env.MYKEY !== 'undefined'){ console.log('It is set!'); } else { console.log('No set!'); }

Estoy probando sin el process.env.MYKEY pero la consola imprime "Está configurado".

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Esto funciona bien en mi proyecto Node.js:

 if(process.env.MYKEY) { console.log('It is set!'); } else { console.log('No set!'); }

EDITAR:

Tenga en cuenta que, como mencionó @Salketer, depende de las necesidades, el valor falso se considerará false en el fragmento anterior. En caso de que un valor falso se considere como valor válido. Use hasOwnProperty o verifique el valor una vez más dentro del bloque.

 > x = {a: ''} { a: '' } > x.hasOwnProperty('a') true

O siéntase libre de usar el operador in

 if ("MYKEY" in process.env) { console.log('It is set!'); } else { console.log('No set!'); }
over 4 years ago · Santiago Trujillo Denunciar

0

Uso este fragmento para averiguar si la variable de entorno está configurada.

 if ('DEBUG' in process.env) { console.log("Env var is set:", process.env.DEBUG) } else { console.log("Env var IS NOT SET") }

Notas teóricas

Como se menciona en los documentos de NodeJS 8 :

La propiedad process.env devuelve un objeto que contiene el entorno del usuario. Ver entorno(7) .

[...]

Asignar una propiedad en process.env convertirá implícitamente el valor en una cadena.

 process.env.test = null console.log(process.env.test); // => 'null' process.env.test = undefined; console.log(process.env.test); // => 'undefined'

Sin embargo, cuando la variable no está configurada en el entorno, la clave adecuada no está presente en absoluto en el objeto process.env y la propiedad correspondiente de process.env no está undefined .

Aquí hay otro ejemplo (tenga en cuenta las comillas utilizadas en el ejemplo):

 console.log(process.env.asdf, typeof process.env.asdf) // => undefined 'undefined' console.log('asdf' in process.env) // => false // after touching (getting the value) the undefined var // is still not present: console.log(process.env.asdf) // => undefined // let's set the value of the env-variable process.env.asdf = undefined console.log(process.env.asdf) // => 'undefined' process.env.asdf = 123 console.log(process.env.asdf) // => '123'

Una nota al margen sobre el estilo del código

Moví esta parte incómoda y extraña de la respuesta lejos de StackOverflow: está aquí

over 4 years ago · Santiago Trujillo Denunciar

0

¿Por qué no verificar si la clave existe en las variables de entorno?

 if ('MYKEY' in Object.keys(process.env)) console.log("It is set!"); else console.log("Not set!");
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda