javascript - node_env - process.env react
process.env.NODE_ENV no está definido (6)
Intento seguir un tutorial sobre NodeJs. No creo que me haya perdido nada, pero cada vez que llamo al process.env.NODE_ENV
el único valor que obtengo no está definido. De acuerdo con mi investigación, el valor predeterminado debería ser ''desarrollo''. ¿Cómo se establece dinámicamente este valor y dónde se establece inicialmente?
En UBUNTU use:
$ export NODE_ENV = prueba
Nos encontramos con este problema cuando trabajamos con node en Windows.
En lugar de requerir que alguien intente ejecutar la aplicación para establecer estas variables, proporcionamos una alternativa dentro de la aplicación.
var environment = process.env.NODE_ENV || ''development'';
En un entorno de producción, lo definiríamos según los métodos habituales (SET / export).
Para las personas que usan * nix (Linux, OS X, etc.), no hay razón para hacerlo a través de un segundo comando de exportación, puede encadenarlo como parte del comando de invocación:
NODE_ENV=development node server.js
Más fácil, ¿no? :)
También puede configurarlo por código, por ejemplo:
process.env.NODE_ENV = ''test'';
process.env es una referencia a su entorno, por lo que debe establecer la variable allí.
Para establecer una variable de entorno en Windows :
SET NODE_ENV=development
en OS X o Linux :
export NODE_ENV=development
consejos
en package.json
:
"scripts": {
"start": "set NODE_ENV=dev && node app.js"
}
en app.js
:
console.log(process.env.NODE_ENV) // dev
console.log(process.env.NODE_ENV === ''dev'') // false
console.log(process.env.NODE_ENV.length) // 4 (including a space at the end)
entonces, esto puede ser mejor:
"start": "set NODE_ENV=dev&& node app.js"
o
console.log(process.env.NODE_ENV.trim() === ''dev'') // true