Cuando desarrollamos aplicaciones web con Node.js, a menudo necesitamos especificar en qué puerto se escucharan las solicitudes HTTP. Esta especificación es crucial para que nuestra aplicación pueda recibir y responder a las solicitudes que se le hagan. En este contexto, la variable de entorno PORT
se convierte en una herramienta esencial.
Las variables de entorno son un conjunto de pares clave-valor que forman parte del entorno en el que se ejecutan procesos en el sistema operativo. Permiten personalizar el comportamiento del sistema y de las aplicaciones sin modificar el código fuente.
En el caso de Node.js, una forma común de establecer el puerto para un servidor web es a través de la variable de entorno PORT
. Esta variable predetermina el puerto en el que el servidor empezará a escuchar las solicitudes. Por ejemplo, podría haber un código como el que se muestra a continuación:
const express = require('express');
const app = express();
const port = process.env.PORT || 3000;
app.listen(port, () => {
console.log(`Server is up on port ${port}`);
});
En este código, process.env.PORT
recupera el valor de la variable de entorno PORT
y, si no está establecido, se utiliza el valor 3000 por defecto.
Dependiendo del sistema operativo y del shell de la terminal, la sintaxis para establecer una variable de entorno puede variar. En sistemas Unix y en la Git Bash se utiliza export PORT=8080
, mientras que en el Símbolo del sistema de Windows se utiliza set PORT=8080
.
Entender el uso de la variable de entorno PORT
es esencial para desplegar aplicaciones en entornos de producción. Los proveedores de servicios en la nube, como Heroku, utilizan la variable PORT
para paso marcar en cuál puerto escuchará la aplicación las solicitudes HTTP.
El uso de la variable de entorno PORT
es una práctica recomendada en desarrollo web con Node.js, ya que proporciona flexibilidad y permite que el código se adapte a diferentes entornos sin necesidad de modificaciones. En el desarrollo profesional, es común mantener este tipo de configuraciones fuera del código para facilitar la gestión de los entornos de desarrollo, pruebas y producción.