Какой HTTP-клиент использовать для внешнего интерфейса 🤔

Есть много способов сделать вызов API из внешнего проекта. Да, мы любим их всех, но ты пользуешься только одним. Итак, давайте решим, какой из них лучше.

Тенденции NPM

Давайте посмотрим, какой пакет загружается больше всего.

Тенденции npm говорят о том, что whatwg-fetch (fetch polyfill) является наиболее загружаемым, это может быть из-за Create React App и многих других настроек проекта начальной загрузки, включающих извлечение полифилла из коробки для разработчиков, а во вторую позицию у нас есть axios.

Стоимость модуля

Для фронтенд-проектов размер пакета имеет значение.

И здесь снова выигрывает полифилл fetch, и мы можем исключить запрос-обещание, который хочет добавить 66 КБ в пакет только для выполнения вызовов API. 🙄

Поддерживаемые функции

Похоже, что axios поддерживают все функции .🥰

Поддержка браузера

Fetch () - новый стандарт. Он уже поддерживается в Chrome и Firefox, поэтому, если поддержка IE или Safari не требуется, вы можете использовать его сегодня вообще без какой-либо библиотеки. Предлагаю вам начать здесь.

Заключение

Если вам нужна поддержка других браузеров, воспользуйтесь функцией Fetch polyfill на GitHub. Теперь вы можете использовать новый стандарт, и, в конце концов, вы можете удалить библиотеку полифиллов, когда больше браузеров будут поддерживать Fetch, так что в будущем не будет затрат на импорт.

Если опыт разработчика имеет значение Используйте axios, у него очень хорошая документация, проста в использовании и кривая обучения не слишком крутая.