- PVSM.RU - https://www.pvsm.ru -
Одна из важнейших задач, которую приходится решать программисту при разработке веб-проектов, заключается в организации обмена данными между клиентскими и серверными частями таких проектов. Это может выглядеть так: пользователь нажимает некую кнопку на странице, открытой в браузере, в ответ система выполняет запрос к серверу, после чего сервер отправляет странице запрошенные у него данные. Для того чтобы вывести такие данные, на странице, без её перезагрузки, производится их обработка, после чего страница обновляется и пользователь получает то, что ему нужно.
В основе подобного взаимодействия систем лежит технология AJAX, в рамках применения которой используется экземпляр объекта XMLHttpRequest
. Для того чтобы облегчить программистам работу с AJAX и XMLHttpRequest
, созданы специализированные библиотеки, которые предоставляют разработчикам удобные интерфейсы, избавляя их от необходимости пользоваться низкоуровневыми механизмами.
Материал, перевод которого мы сегодня публикуем, посвящён анализу пяти популярных инструментов для работы с HTTP: Axios, Request, Superagent, Fetch и Supertest.
Библиотека Axios [2], предназначенная для выполнения HTTP-запросов, основана на промисах. Она подходит для использования в среде Node.js и в браузерных приложениях. Библиотека поддерживает все современные браузеры, и, в том числе, IE8+.
Библиотека Superagent [3], как и Axios, подходит для Node.js и для современных браузеров. Она предоставляет разработчику простое и понятное API, с которым удобно работать.
Для того чтобы выполнить HTTP-запрос средствами Superagent, достаточно вызвать подходящий метод объекта request
:
request
.get('')
.then(res => log(res))
.catch(err => log(err))
Библиотека Request [4], в сравнении с предыдущими рассмотренными инструментами, представляет собой упрощённое средство для выполнения HTTP-запросов. При использовании этой библиотеки приходится писать меньше кода, чем при работе с другими библиотеками. Она не использует промисы, но, если вам эта возможность нужна, вы можете воспользоваться библиотекой Request-Promise [5], реализующей обёртку вокруг библиотеки Request и позволяющей работать с промисами.
Fetch [6] — это, в отличие от других средств, рассматриваемых в этом обзоре, не библиотека. Это стандартное браузерное API, являющееся альтернативой XMLHttpRequest
.
Библиотека Supertest [7] основана на библиотеке Superagent. Она предназначена для тестирования HTTP-серверов, построенных на основе Node.js. Supertest даёт разработчику доступ к собственному API и к низкоуровневому API, предоставляемому библиотекой Superagent.
В этом материале мы рассмотрели несколько популярных инструментов для работы с HTTP, которые пригодятся JS-разработчикам, создающим приложения, использующие технологии браузеров и платформы Node.js. При подборе базы для HTTP-подсистемы некоего проекта рекомендуется сначала опробовать несколько средств, выглядящих подходящими, а потом уже принимать окончательное решение.
Уважаемые читатели! Какими HTTP-библиотеками вы пользуетесь?
Автор: ru_vds
Источник [10]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/razrabotka/301937
Ссылки в тексте:
[1] Image: https://habr.com/company/ruvds/blog/432634/
[2] Axios: https://github.com/axios/axios
[3] Superagent: https://github.com/visionmedia/superagent
[4] Request: https://github.com/request/request
[5] Request-Promise: https://github.com/request/request-promise
[6] Fetch: https://developer.mozilla.org/ru/docs/Web/API/Fetch_API
[7] Supertest: https://github.com/visionmedia/supertest
[8] Chai.js: http://chaijs.com/
[9] Mocha: https://mochajs.org/
[10] Источник: https://habr.com/post/432634/?utm_campaign=432634
Нажмите здесь для печати.