Node - лидер на рынке асинхронных фреймворков. Платформа теперь поддерживает огромную часть стартапов и предприятий, которые зарабатывают сотни миллионов долларов дохода. Таким образом, он зарекомендовал себя как платформа, способная выдержать огромную нагрузку, сохраняя при этом плавную работу. Node.js был, пожалуй, самым большим открытием современной серверной инженерии, которое мы видели. Судя по всему, Node в ближайшее время не остановится; это полная противоположность. Проект продолжает выпускать частые обновления и поддерживать старые выпуски для поддержки старых платформ. В новом выпуске устранены некоторые лазейки в OpenSSL, но также добавлена ​​дополнительная поддержка таких языков, как C и C ++.

Начать с Node.js довольно просто; рекомендации изложены в общих чертах, и тысячи проектов находятся на GitHub, ожидая, пока вы изучите и проанализируете их архитектуру. Node.js отлично работает на всех платформах, даже на Windows 10, для тех, кому это интересно. Это делает его поистине отличной платформой для совместного обучения интерфейсной и серверной разработке. Не будем забывать, что в Node самый загруженный менеджер пакетов из всех фреймворков или языков, известных человеку. Таким образом, создание веб-сайта занимает всего пару минут благодаря модулям и библиотекам, доступным через диспетчер пакетов (NPM). Итак, давайте начнем с самых верхних пакетов nodeJS.

выражать

Все распространенные языки программирования имеют схожие структуры в способах построения вещей. Один из самых быстрых способов получить язык программирования для удовлетворения ваших потребностей - это использование фреймворка. Express - это ведущая платформа Node.js для быстрого создания и публикации приложений и API. Минимальная структура фреймворка позволяет любому разработчику Node.js быстро запустить функциональное приложение с помощью Express Generator. Express дает вам четкую схему для создания ваших приложений. Объедините его с любыми другими пакетами, которые мы обсудим, и вы быстро поймете, насколько действительно хорош этот фреймворк.

PM2

Node.js известен как фреймворк для масштабирования больших приложений и инфраструктуры. Управление процессами должно быть важным приоритетом для любого пользователя Node.js. PM2 предлагает как управление процессами для производственных приложений, так и балансировщик нагрузки, который помогает с любыми возможными настройками производительности. Благодаря PM2 ваши приложения остаются в сети на неопределенный срок, предоставляя вам инструменты для перезагрузки приложений без простоев. Неудивительно ли, что сотни тысяч пользователей Node.js считают этот инструмент незаменимым?

Мокко

Еще больше асинхронных действий происходит здесь, в этом обзоре пакета Node.js, на этот раз у нас есть Mocha - многофункциональная тестовая среда JavaScript, работающая на Node.js и браузере, что делает асинхронное тестирование простым и увлекательным. Тесты Mocha запускаются последовательно, что позволяет создавать гибкие и точные отчеты, сопоставляя неперехваченные исключения с правильными тестовыми примерами. Тестирование очень важно для понимания того, насколько хорошо работает приложение, где мы можем найти какие-либо конкретные утечки, а также для того, чтобы знать, как мы можем исправить эти ошибки, проблемы и раздражения, с которыми мы сталкиваемся. Тестирование позволяет разработчикам лучше понять, как работает их код, и, в свою очередь, получить больше навыков, продолжая идти по выбранному пути.

Лодаш

Современная служебная библиотека JavaScript, обеспечивающая модульность, производительность и дополнительные функции. Lodash упрощает JavaScript, избавляя от хлопот при работе с массивами, числами, объектами, строками и т. Д. Модульные методы Lodash отлично подходят для:

  • Итерация массивов, объектов и строк
  • Манипулирование и тестирование ценностей
  • Создание составных функций

ESLint

ESLint - это инструмент статического анализа кода для выявления проблемных шаблонов, обнаруженных в коде JavaScript. Правила в ESLint можно настраивать, а также можно определять и загружать настраиваемые правила. ESLint охватывает вопросы как качества кода, так и стиля кодирования. Вкратце цель - сделать код более последовательным и избежать ошибок. Во многом он похож на JSLint и JSHint, за некоторыми исключениями:

  • ESLint использует Espree для парсинга JavaScript.
  • ESLint использует AST для оценки шаблонов в коде.
  • ESLint полностью подключаемый, каждое правило - это подключаемый модуль, и вы можете добавить больше во время выполнения.

Заграничный пасспорт

Passport - это уникальный модуль аутентификации для разработчиков Node.js. Основная цель Passport - помочь с запросами аутентификации, этот Passport достигает за счет использования сторонних плагинов, которые действуют как методы аутентификации, иначе известные как стратегии. API Passport прост: вы даете Passport запрос, который необходимо аутентифицировать, Passport, в свою очередь, предоставляет вам ловушки, которые позволяют вам контролировать, что происходит после неудачного или успешного вызова аутентификации. Изучая стратегии, вы можете выбрать из сотен методов аутентификации, начиная от внутренних и заканчивая внешними, такими как Google, Facebook и другие.

Момент

Одна из самых стабильных и поддерживаемых библиотек управления временем, которую вы можете найти. Из всей коллекции библиотек, созданных для решения задач форматирования, синтаксического анализа, преобразования и, в целом, работы с различными формами времени, Moment.js - это та, которая получила самое широкое распространение.

import moment from "moment";
// in relation to release date of this post
moment().format("MMMM Do YYYY"); // June 6th 2019
moment("20111031", "YYYYMMDD").fromNow(); // 8 years ago
moment().subtract(10, "days").calendar(); // 05/27/2019

В последней версии v2 Moment.js был переписан для поддержки новейшего синтаксиса ES6. Это обеспечивает улучшенную модульность и лучшую производительность для всегда зеленых браузеров. Такие вещи важны, особенно при работе с такой большой библиотекой, как Moment.js.

Мел

С Chalk мы вступаем в мир инструментов и библиотек, связанных с терминалами, где количество скачиваний и, как следствие, безумно популярно! Chalk - чрезвычайно простая библиотека, созданная для одной простой цели - стилизации ваших терминальных строк! Как и в случае с Require - доказывает, что самое полезное - самое простое.

import chalk from "chalk";
// string concatenation - template literals
console.log(`${chalk.blue("Hello")} World${chalk.red("!")}`);
 
// chainable API
console.log(chalk.blue.bgRed.bold("Hello world!"));

Конечно, API прост, интуитивно понятен (с возможностью подключения) и отлично работает со всеми функциями, которые JS предлагает изначально. На официальной странице пакетов указано, что его используют более 20K различных пакетов! Может быть, отсюда берется счетчик загрузок за неделю (~ 25 млн). Хотя такие цифры нельзя игнорировать.

Socket.io

Socket.io просто случайно получил ранний доступ к пакету Nodejs, который позволяет вам создать приложение для общения в реальном времени, для которого потребуются потоки содержимого данных в реальном времени либо непосредственно из данных, с которыми вы работаете, либо через интерфейс прикладного программирования (API), полученный из другого источника. В некоторых примерах приложений, таких как Twitter, они развернули бота для сбора последних твитов, а в Facebook - бота для просмотра новостей, таким образом, с комбинациями API для изучения некоторых интересных вещей, которые работают с данными в режиме реального времени.

Запрос-Обещание

Запрос разработан, чтобы быть самым простым способом совершать http-вызовы. Он поддерживает HTTPS и по умолчанию следует перенаправлениям. Вы также можете выполнить потоковую передачу файла в запрос PUT или POST. Хотя это устаревший пакет, он по-прежнему остается наиболее полезным для сетевых вызовов. несколько вариантов использования перечислены ниже,

  • Сканировать веб-страницу
  • ПОЛУЧИТЬ / ОТПРАВИТЬ что-то из JSON REST API
  • POST, как в HTML-формах (также с включением cookie)
  • Получите полный ответ, а не только тело

Что вы думаете об этих пакетах? Мне нужно добавить еще? комментарий ниже.

Если хотите, можете предложить мне кофе: https://www.buymeacoffee.com/harry1408

Удачной охоты ❤

~ Суровый Патель (http://imharshpatel.com/))