¿Variables NODE_ENV y cómo usarlas?

Introducción: las variables NODE_ENV son variables de entorno popularizadas por el marco express. El valor de este tipo de variable se puede establecer dinámicamente según el entorno (es decir, desarrollo/producción) en el que se ejecuta el programa. NODE_ENV funciona como una bandera que indica si el servidor se está ejecutando en modo de desarrollo o producción. El marco express verifica el valor de la bandera en el tiempo de ejecución y establece el valor según el entorno.

Configuración de la variable NODE_ENV: La configuración de la variable NODE_ENV depende del sistema operativo y también de la configuración del usuario.

Para establecer la variable de entorno globalmente en algún valor, podemos ejecutar el código desde la línea de comando.

Para el sistema operativo Linux y Mac:

export NODE_ENV = production

Para el sistema operativo Windows

$env:NODE_ENV = 'production'

También podemos aplicar la variable de entorno en el comando de inicialización de la aplicación mediante el siguiente código, suponiendo que estamos ejecutando un script llamado app.js.

NODE_ENV = production node app.js

En Windows, el código es diferente. Usamos el siguiente código:

set NODE_ENV=production&&node app.js

Debido a que los diferentes sistemas operativos requieren un comando diferente, hay un paquete disponible llamado cross-env que hace que el comando sea multiplataforma. 

npx cross-env NODE_ENV=production node app.js

El código anterior funcionará en cualquier plataforma donde el paquete cross-env esté instalado como una dependencia del desarrollador.

Si usamos express, podemos proporcionar configuraciones específicas del entorno que se activan automáticamente según el entorno en el que estamos trabajando.

Sintaxis:

if(process.env.NODE_ENV == 'development') {
   // Code for Development Mode
} else {
   // Code for Testing Mode
}

Supongamos que nuestro servidor de base de datos es el host local cuando estamos trabajando en el modo de desarrollo y usaremos https://production-server.com para la producción. El código se puede configurar en consecuencia.

if(process.env.NODE_ENV == 'development') {
    db.connect('localhost:1234')
} else {
    db.connect('https://production-server.com')
}

El código anterior verificará el entorno y configurará su servidor en consecuencia.

Conclusión: el uso del entorno de producción es una buena práctica porque en el entorno de producción, por lo general, el registro se mantiene al mínimo y también se realizan más niveles de almacenamiento en caché para optimizar el rendimiento. Por lo tanto, siempre es una buena práctica configurar la variable de entorno en el modo de producción cada vez que implementamos nuestra aplicación en el servidor de producción.

Publicación traducida automáticamente

Artículo escrito por nemotivity y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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