Я бы лично не начинал новый проект с библиотекой request()
, если у него нет функции, которая ни в одной другой библиотеке мне не нужна, или если мне не нужен другой модуль, который зависит от самого модуля request()
.
Когда у меня есть свобода выбора, я вместо этого использую got()
для новых проектов. Выбор из списка альтернатив - это личное решение, поэтому вам просто нужно оценить тип интерфейса, который у них есть, и какие функции у них есть. Что я обычно делаю с библиотекой такого типа, got()
казался простым и чистым, построен с нуля с обещаниями, отвечает моим потребностям, и у меня не было проблем с его использованием.
Axe ios, node-fetch и superagent имеют преимущества в том, что вы можете использовать аналогичный интерфейс как в node.js, так и в браузере. Все они популярны и широко используются.
Я пытался bent , но не использовал его интерфейс программирования.
Я бы лично предпочел использовать библиотеки, которые имеют Заявленная цель - продолжать развиваться с новыми разработками в языке, новыми разработками в nodejs библиотеках и добавлять новые функции с течением времени, а не библиотеку, которая заявляет, что не будет добавлять новые функции.
Мне также нравится использовать библиотеку, в которой поддержка обещаний встроена из ядра, а не добавлена только в качестве оболочки, поскольку сейчас я выполняю все асинхронное программирование с обещаниями.
Некоторые другие ресурсы для изучения альтернатив:
Таблица сравнения функций (написано создателями got()
)
Перенос в got () из запроса
И, если вы хотите прочитать о том, почему библиотека request()
перешла в режим обслуживания, прочитайте здесь .
В двух словах, это старая архитектура с множеством функций, склеенных по сторонам, но, поскольку от нее зависит так много модулей, они не могут по-настоящему сломать свой API, чтобы исправить или сгладить ситуацию. И, поскольку он настолько популярен, он сдерживает успех конкурирующих решений, которые разработали более чистый интерфейс. Таким образом, было принято решение позволить альтернативам, которые были разработаны более современным способом, перенести мантию в будущее и request()
переведет go в режим обслуживания, чтобы продолжать поддерживать другие модули, которые зависят от него, но не попытаться развиться в более современный интерфейс.