Saltar al contenido

Nodo process.env.VARIABLE_NAME devolviendo undefined

Solución:

process.env.VARIABLE_NAME devoluciones undefined porque el entorno de ejecución de Node.js no conoce el recién agregado VARIABLE_NAME todavía. Para solucionar el problema, es necesario reiniciar el entorno de ejecución de Node.js (por ejemplo, IDE).

Los siguientes pasos se pueden utilizar para reproducir este problema:

  1. Abra IDE como WebStorm y escriba un programa Node.js simple: console.log(process.env.VARIABLE_NAME). Se imprimirá undefined como se esperaba, como VARIABLE_NAME aún no está definido. Mantenga el IDE en funcionamiento, no lo cierre.
  2. Perfil de entorno abierto como .bash_profile y añadir export VARIABLE_NAME=mySensitiveInfo en eso.
  3. Abra la consola del sistema y ejecute source .bash_profile, para que lo anterior export se ejecutará la sentencia. A partir de ahora, siempre que se abra la consola del sistema, VARIABLE_NAME existe una variable de entorno.
  4. En la consola del sistema, ejecute el programa Node.js en el paso 1, imprimirá mySensitiveInfo.
  5. Cambie a IDE y ejecute el programa Node.js, se imprimirá undefined.
  6. Reinicie el IDE y ejecute el programa Node.js, esta vez, imprimirá mySensitiveInfo

nodemon.json El archivo es solo para establecer la configuración específica de nodemon. Por lo tanto, para crear variables de entorno personalizadas, podemos usar el paquete dotenv

Primero, instale el paquete dotenv

npm install dotenv --save

después de eso, cree el archivo .env en la raíz e incluya las variables de entorno como fuelles

MONGO_ATLAS_PW=xxxxx
JWT_KEY=secret

Finalmente, dentro de tu app.js inserte el archivo después de sus importaciones.

require('dotenv').config()

Entonces puedes usar el entorno varibale como este

process.env.MONGO_ATLAS_PW
process.env.JWT_KEY

Tengo un problema en este momento, y lo uso y lo resolví en la configuración del paquete web

const plugins = [
    new webpack.NoEmitOnErrorsPlugin(),
    // after compile global will defined `process.env` this Object
    new webpack.DefinePlugin({
      BUILD_AT : Date.now().toString(32),
      DEBUG: process.env.NODE_ENV !== 'production',
          'process.env': {
              'NODE_ENV': JSON.stringify(process.env.NODE_ENV || "development"),
              'VARIABLE_NAME': JSON.stringify(process.env.VARIABLE_NAME)
     }
   })
]
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *