Resumen

Aprende a montar un servidor HTTP en Node.js y activar recarga automática con el flag de ejecución en tiempo real. Con un ejemplo mínimo, verás cómo responder texto plano, escuchar en el puerto 3000 y trabajar con localhost sin depender de nodemon.

¿Cómo crear un server HTTP básico en Node.js?

Para iniciar, se importa el módulo nativo HTTP y se crea un server que responde con status 200 y Content-Type text/plain. Luego se expone en el puerto 3000 sobre localhost.

// server.js
const http = require('http');

const server = http.createServer((request, response) => {
  response.writeHead(200, { 'Content-Type': 'text/plain' });
  response.end('Hello world');
});

server.listen(3000, 'localhost', () => {
  console.log('Server running');
});

Puntos clave: - Importar módulo nativo con require de http. - Usar response.writeHead para status 200 y Content-Type: text/plain. - Finalizar la respuesta con response.end y el mensaje "Hello world". - Escuchar en el puerto 3000 sobre localhost con server.listen. - Confirmar en consola con console.log que el server corre.

¿Qué cabeceras y estado se envían?

  • Código de estado: 200 para respuesta exitosa.
  • Cabecera: Content-Type como text/plain para texto sin formato.
  • Cierre de respuesta: response.end con el contenido final.

¿Cómo definir puerto y host correctamente?

  • Puerto estándar usado: 3000.
  • Host: 'localhost' para apuntar al entorno local.
  • Alternativa usada: dirección 127.0.0.1 para validar conectividad.

¿Cómo ejecutar y probar en localhost 3000?

La ejecución inicial se hace con node server.js. Si el navegador no responde como esperas en localhost:3000, verifica el host en server.listen. En la demostración, se probó con 127.0.0.1 y luego se ajustó a 'localhost' para ver el "Hello world" correctamente.

Comandos útiles: - Iniciar el servicio: node server.js. - Ver versión de Node: node -v para confirmar compatibilidad. - Detener el servicio: control C para matar el proceso cuando no hay watch.

Buenas prácticas: - Mantener mensajes claros en consola: "Server running". - Probar en el navegador: http://localhost:3000. - Ajustar host entre 'localhost' y 127.0.0.1 si hay problemas de resolución.

¿Qué resuelve el flag --watch en Node 18+?

Desde la versión 18, Node incorpora como beta el flag --watch y en la versión 23 mostrada está disponible. Permite recargar el proceso al detectar cambios, evitando reinicios manuales y el uso de nodemon durante el desarrollo.

Ejecución con recarga automática:

node --watch server.js

Ventajas clave: - Detecta cambios en el archivo en tiempo real. - Reinicia el server automáticamente al guardar. - Evita detener con control C en cada edición. - Sustituye flujos comunes con nodemon en desarrollo.

Consejos de uso: - Edita el mensaje de "Hello world" y guarda: el watch reinicia solo. - Observa la consola: se indica cuando el proceso se reinicia. - Mantén el navegador abierto y refresca para ver el cambio aplicado.

Siguiente paso recomendado: - Dominar la creación de APIs con Express.js, que aprovecha HTTP con una capa más amigable para estructurar recursos.

¿Te gustaría ver más ejemplos, como enviar un video por bloques en un server Node? Cuéntame en los comentarios qué retos quieres cubrir a continuación.

      Servidor HTTP básico en Node.js