← Ко всем open source проектам

Axios

axios/axios

Axios — JavaScript-клиент для HTTP-запросов в браузере и Node.js с промисами, перехватчиками и настройками запросов.

Форки 11,721
Автор axios
Язык JavaScript
Лицензия MIT
Обновлено 2026-06-07

Что это такое

Axios — библиотека для HTTP-запросов из браузера и Node.js. Она появилась еще до того, как `fetch` стал привычным стандартом, и до сих пор остается удобной, когда запросы нужно не просто отправлять, а централизованно настраивать.

Библиотека работает с промисами, умеет создавать отдельные экземпляры клиента, поддерживает перехватчики запросов и ответов, отмену через AbortController, преобразование данных, загрузку файлов, прогресс и подробную настройку заголовков.

Как появился и почему прижился

В больших JavaScript-приложениях HTTP-запросы быстро превращаются в повторяющийся код: базовый адрес, токены, обработка ошибок, тайм-ауты, повторяющиеся заголовки. Axios стал популярным потому, что дал удобную оболочку вокруг этой рутины.

Даже с появлением `fetch` у Axios осталась ниша. Он дает единый API для браузера и Node.js, знакомую структуру ответа, перехватчики и много готовых решений, которые команды уже используют годами.

Что лежит внутри

Репозиторий содержит исходный код клиента, адаптеры, типы, тесты, документацию по настройкам запросов, обработке ошибок, отмене, сериализации форм и HTTP/2.

Экземпляр клиента с перехватчиком

Пример показывает частый сценарий: один клиент хранит базовый адрес, а перехватчик добавляет заголовок перед каждым запросом.

Язык: JavaScript
import axios from "axios";

const api = axios.create({
  baseURL: "https://api.example.com",
  timeout: 5000
});

api.interceptors.request.use((config) => {
  config.headers.Authorization = `Bearer ${localStorage.getItem("token")}`;
  return config;
});

const { data } = await api.get("/profile");

Где полезен

Axios полезен в приложениях, где много запросов и нужно единое поведение: авторизация, обработка ошибок, повторная отправка, ограничение времени ожидания, загрузка файлов, работа с формами.

Если приложение делает один простой GET-запрос, стандартного `fetch` достаточно. Но когда запросы становятся частью архитектуры приложения, отдельный клиент с настройками часто чище.

Сильные стороны и ограничения

Сильная сторона — зрелый API и предсказуемая обвязка HTTP. Команды получают один способ описывать запросы и ответы в разных окружениях.

Ограничение — это дополнительная зависимость поверх платформы. В новых проектах стоит осознанно сравнить Axios с `fetch`: иногда библиотека оправдана, иногда стандартного API уже хватает.