Redaxios
Para hacer peticiones HTTP con la API de Axios sin cargar Axios entero en el bundle.
Cliente HTTP que replica la API de Axios en unos 800 bytes usando fetch nativo.
Notas y contexto
Qué es
Redaxios es una librería de cliente HTTP creada por Jason Miller (developit), autor de Preact. Reproduce la API de Axios en apenas unos 800 bytes apoyándose en la fetch() nativa del navegador, en lugar de incluir toda la dependencia de Axios. Está escrita en JavaScript con tipos de TypeScript y se distribuye con licencia Apache-2.0.
Para qué sirve
- Hacer peticiones HTTP (GET, POST, PUT, DELETE, etc.) con la misma sintaxis que Axios.
- Reducir el tamaño del bundle frente a Axios, que pesa más de cinco veces lo que ocupa Redaxios.
- Migrar código existente basado en Axios sin reescribir las llamadas, cambiando solo el import.
- Servir como punto intermedio entre la
fetch()cruda y la comodidad de la API de Axios. - Encajar en proyectos donde cada kilobyte importa, como librerías, widgets embebidos o apps con Preact.
Cuándo usarlo
Es ideal cuando ya conoces y quieres la ergonomía de Axios (interceptores básicos, baseURL, parseo automático de JSON) pero no puedes justificar el peso de la dependencia completa. Si necesitas funciones avanzadas de Axios (interceptores complejos, adaptadores personalizados, soporte amplio de Node antiguo) probablemente te convenga seguir con Axios. Si no te importa escribir algo más de código, la fetch() nativa también es una alternativa sin dependencias.
Ejemplo
Instalación desde npm:
npm install redaxios
Uso básico, igual que Axios pero cambiando el import:
import axios from 'redaxios';
// Petición GET
const res = await axios.get('https://api.ejemplo.com/usuarios');
console.log(res.data);
// Petición POST con cuerpo JSON
await axios.post('https://api.ejemplo.com/usuarios', {
nombre: 'Ada',
rol: 'admin',
});
// Instancia con configuración base
const api = axios.create({
baseURL: 'https://api.ejemplo.com',
headers: { Authorization: 'Bearer TOKEN' },
});
const { data } = await api.get('/usuarios');
Puntos clave
- Tamaño mínimo: unos 800 bytes, menos de una quinta parte de Axios.
- API compatible con Axios, así que la migración suele ser cambiar solo el import.
- Usa la
fetch()nativa, soportada en todos los navegadores modernos y polirrellenada por herramientas como Next.js, Create React App o Preact CLI. - Incluye tipos de TypeScript y licencia Apache-2.0.
- Creada por Jason Miller, autor de Preact, con un enfoque claro en bundles ligeros.
Ten en cuenta
No es un reemplazo total de Axios: cubre la API más común, pero no replica todas sus funciones avanzadas. La documentación propia es mínima y remite directamente a la documentación de Axios. El proyecto tiene poca actividad reciente (la última publicación es la 0.5.0 de abril de 2022 y el repositorio no recibe commits desde 2023), aunque sigue sin estar archivado y es estable para su propósito. Para casos sencillos en navegador, plantéate si la fetch() nativa ya te basta.