Avatar ·

¿Cómo hacer una solicitud HTTP en JavaScript?

¡Hola a todos! Por favor, díganme cómo realizar correctamente una solicitud HTTP en Node.js (versión 18).

Estoy escribiendo un pequeño script para parsear datos de una API pública. Necesito enviar una solicitud GET y obtener una respuesta JSON. Intenté usar el módulo incorporado http, pero me encontré con un problema: los datos llegan en partes y tengo que ensamblarlos manualmente a través de los eventos data y end. Esto parece incómodo y engorroso.

const http = require('http');

http.get('http://example.com/api/data', (res) => {
  let data = '';
  res.on('data', (chunk) => { data += chunk; });
  res.on('end', () => {
    console.log(JSON.parse(data));
  });
});

He oído que existen bibliotecas como axios o node-fetch, pero me gustaría entender qué enfoque se considera estándar en el Node.js moderno. ¿Es necesario instalar paquetes de terceros, o hay una solución más elegante con Node puro?

Espero una respuesta completa.