[Перевод] 23 полезнейших Node.js-библиотеки, о которых стоит знать в 2020 году

Профессиональному Node.js-разработчику нужно быть в курсе того, что происходит в сфере пакетов, предназначенных для этой платформы. Ему нужно знать о том, что вышло свежего, и о том, какие пакеты, используемые для решения различных задач, пользуются популярностью. Дело тут в том, что разработка ПО в наши дни зависит от библиотек. Знание хороших библиотек способствует повышению производительности труда программиста и помогает ему разрабатывать качественные приложения. Сегодня мы поговорим о 23 полезных пакетах для Node.js.

5_rcgj-ae_oz-pgn9s2wcsbgtgg.jpeg

1. Express


97f99748bd8186febe13d25d8ed0a2b6.png


Express — это быстрый и минималистичный веб-фреймворк для Node.js, который даёт разработчику достаточно большой уровень свободы в деле создания веб-серверов.

2. Socket.io


a11e981d39bdba3f7775bb9fc690be58.png


Socket.io позволяет организовывать в приложениях двусторонние системы обмена данными, работающие в реальном времени и основанные на событиях.

3. Body-parser


012e0e33db13dbfb695639c6cbf8cf5f.png


Body-parser — это пакет, который позволяет разбирать тела запросов, хранящиеся в req.body, выступая в роли ПО промежуточного слоя для серверов, основанных на Express. Он обрабатывает запросы до их попадания в соответствующие обработчики.

4. Cors


d544ef9c921ae788227da4ece7be6c54.png


Cors — это пакет, содержащий реализацию ПО промежуточного слоя для Connect/Express, которое позволяет настраивать и использовать CORS.

5. Passport


6f5c357f748820da8cfee28344ad255e.png


Passport — это система аутентификации для Node.js, совместимая с Express.

Единственная задача, на решение которой нацелен пакет passport, заключается в аутентификации запросов. Обработка запросов выполняется с использованием настраиваемого набора плагинов, известных как «стратегии».

6. Multer


8fd0bce47bf3439bf20bc1a131085909.png


Multer — это ПО промежуточного слоя для Express, предназначенное для обработки данных типа multipart/form-data. Такие данные, в основном, поступают на сервер при выгрузке файлов. Обратите внимание на то, что эта библиотека не обрабатывает данные, тип которых отличается от multipart/form-data.

7. Axios


266532dd0a57cc513d85d65df6d1aaaa.png


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

8. Morgan


434574306545a8bd3a957946ecad3732.png


Morgan — это система логирования HTTP-запросов.

9. Http-errors


596b348a875f87a17941689cf7369d25.png


Http-errors — это библиотека, позволяющая генерировать HTTP-ошибки. Её можно использовать с различными веб-фреймворками, например — с Express, Koa, Connect.

10. Dotenv


3a112a19d458756ab8694168cf74547f.png


Dotenv — это модуль, у которого нет зависимостей. Он предназначен для загрузки переменных окружения из .env-файла в process.env. Использование этого механизма позволяет хранить настройки приложений отдельно от их кода.

11. Faker


65fb00962a354400f2f71654f77d09e9.png


Faker — это библиотека, позволяющая генерировать большие объёмы фиктивных данных. Она подходит для браузеров и для Node.js.

12. Nodemailer


c4369995bebeb990898837e6b91aede3.png


Nodemailer позволяет отправлять из среды Node.js электронные письма. Пользоваться этой библиотекой очень просто.

13. Sequelize


c528b30087d6a6873cf66b1668a60b23.png


Sequelize — это ORM для СУБД Postgres, MySQL, MariaDB, SQLite и Microsoft SQL Server. Библиотека основана на промисах. При её использовании в распоряжении разработчика оказывается множество надёжных механизмов, упрощающих работу с базами данных.

14. Mongoose


89cd7bb143c1663f5b6806ad70804cad.png


Mongoose — это библиотека, упрощающая работу с СУБД MongoDB. Она поддерживает и промисы, и коллбэки.

15. Jest


211098a368fa790da1ef9d18a9623825.png


Jest — это популярный и хорошо поддерживаемый фреймворк для тестирования JavaScript-проектов, созданный компанией Facebook.

16. Moment


3d091f8180e7db9f535906d7b2a24642.png


Moment — это компактная JavaScript-библиотека, предназначенная для работы со значениями, представляющими даты. Она позволяет создавать, разбирать, проверять, форматировать подобные значения.

17. Lodash


6e73c353db551a6012d1004902a03c84.png


Lodash — это библиотека, дающая в распоряжение разработчика множество вспомогательных методов, упрощающих работу с массивами, числами, объектами, строками. Эта библиотека имеет модульную структуру. Lodash можно, в частности, использовать для решения следующих задач:

  • Обход массивов, объектов, строк.
  • Манипулирование значениями различных типов и выяснение типов значений.
  • Работа с функциями (например — каррирование и мемоизация).


18. Chalk


51123b582f82f45b227c1730efb63456.png


Chalk — это пакет, который позволяет стилизовать тексты, выводимые в консоль. Он обладает удобным API.

19. Validator


f4b1b0d00b2ab767d697ba73efa914b7.png


Validator — это библиотека, предназначенная для проверки и очистки строковых данных.

20. Cheerio


3d08623d6233f4255c8e1af281a2262a.png


Cheerio позволяет разбирать материалы, представляющие собой HTML- и XML-разметку. Эта библиотека даёт разработчику API для работы с тем, что получилось в результате разбора таких материалов.

21. JSDoc


06cb15a689191509f40a110563020dc8.png


JSDoc — это система, которая предназначенная для автоматизации создания документации к JavaScript-коду.

22. Helmet


b3443313cff13b99c3226c12097c0c17.png


Helmet позволяет программистам защищать Express-приложения, помогая в деле настройки различных HTTP-заголовков.

23. Crypto-js


29ea6d6327fe26c3d84901253ba03477.png


Crypto-js — это JavaScript-библиотека, содержащая реализации различных криптографических механизмов.

Какие библиотеки для Node.js вы считаете самыми полезными?

oug5kh6sjydt9llengsiebnp40w.png

© Habrahabr.ru