Ниже вы можете найти коллекцию самых важных обновлений, руководств и объявлений Node.js за эту неделю, подготовленные консультантами RisingStack по Node.js.

Последние обновления Node.js здесь: Node v13.3.0 / LTS v12.13.1

Важные новости:

Объявление основной поддержки Node.js для модулей ECMAScript

Node.js 13.2.0 поддерживает модули ECMAScript, известные своими операторами import и export. Эта поддержка ранее была за флагом --experimental-module, который больше не требуется; однако реализация остается экспериментальной и может быть изменена.

В этой статье обсуждается

  • как вы можете включить эту функцию,
  • синтаксис импорта и экспорта,
  • файлы и поле «тип» package.json,
  • точки входа в пакет и поле «экспорт» package.json,
  • и общие ошибки.

.

Руководство по публикации npm от группы обслуживания пакетов Node.js.

Мы разработали базовый план и руководство по публикации пакетов без метафайлов с использованием поддержки exclude или include со стороны npm.

Обновления Node.js (текущие и LTS)

Список изменений для Node v12.13.1 (LTS)

  • Улучшена экспериментальная поддержка сборки Node.js с Python 3.
  • Данные часовых поясов ICU обновлены до версии 2019c. Это исправляет смещение даты в Бразилии.

.

Журнал изменений для узла 13.3.0 (текущий)

  • fs: экспериментальная рекурсивная rmdir() переработана. Параметр maxBusyTries переименован в maxRetries, а его значение по умолчанию равно 0. Параметр emfileWait был удален, и ошибки EMFILE используют ту же логику повтора, что и другие ошибки. Теперь поддерживается опция retryDelay. ENFILE ошибки теперь повторяются.
  • http: Сделайте максимальный размер заголовка настраиваемым для каждого потока или сервера.
  • http2: Сделайте настраиваемым максимально допустимое количество отклоненных потоков. Разрешить настраивать максимально допустимые недопустимые кадры.
  • wasi: начальная поддержка WASI

.

Журнал изменений для узла 13.2.0 (текущий)

  • дополнения: исключить использование одного и двух аргументов AtExit(). Вместо этого используйте вариант AtExit() или AddEnvironmentCleanupHook() с тремя аргументами
  • child_process, cluster:
    Добавлен параметр serialization, который позволяет IPC дочернего процесса использовать API сериализации V8 (например, для передачи типов данных, таких как наборы или карты)
  • deps: обновите V8 до 7.9, обновите npm до 6.13.1
  • embedder: предоставляет возможность передавать флаги / параметры cli через API в качестве средства внедрения. Разрешить добавление связанных привязок в Environment.
  • esm: снять отметку --experimental-modules
  • поток: Добавить writable.writableCorked свойство
  • worker: Разрешить указание ограничений на ресурсы
  • v8: теперь API сериализации стабилен.

Замечательные руководства по Node.js и JavaScript:

Паттерн наблюдатель в Node.js

Это один из столпов Node, который имеет решающее значение для использования многих основных модулей, поэтому следует рассматривать его изолированно из-за его важности.

.

Использование событий в Node.js (Часть 1)

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

Это можно сделать путем создания, прослушивания и обработки событий в приложении Node.js.

.

Автоматизация освещения с помощью компьютерного зрения и Node.js

Это решение реализовано с помощью opencv4Nodejs, который является оболочкой Node.js для популярной библиотеки компьютерного зрения с открытым исходным кодом OpenCV. Наряду с socket.io и express для рендеринга веб-приложения для отображения видеопотока в реальном времени и для имитации включения и выключения света.

.

Обработка естественного языка для Node.js

Когда речь идет о НЛП (или машинном обучении и искусственном интеллекте), обычно используют Python из-за множества пакетов языковой обработки, таких как Natural Language Toolkit. Однако JavaScript быстро растет, и наличие NPM (Node Package Manager) дает его разработчикам доступ к большому количеству пакетов, включая пакеты для выполнения NLP для разных языков.

Этот пост будет полезен разработчикам, которые уже используют NLP с Python, но хотят перейти для достижения тех же результатов с помощью Node. Совершенные новички также узнают много нового о НЛП как технологии и ее использовании с Node.

.

Node.js: пусть он выйдет из строя!

В этом докладе представлен ряд передовых методов работы с uncaughtExceptions и unhandledRejections таким образом, чтобы дать разработчикам представление об ошибках, посмертной информации и способах корректного завершения работы.

Интересные обсуждения JS и узлов:

Необязательная цепочка только что достигла стадии 4 на TC39!

Также до стадии 4:

  • Нулевой оператор объединения
  • в порядке

В повестке дня есть довольно приличный список предложений, а также пункты «Перегрузка оператора для этапа 1» и «BigDecimal для этапа 1», что довольно интересно.

.

Pika - Реестр пакетов JavaScript для современного Интернета

Pika - это новый вид реестра пакетов для современного Интернета.
100% ESM. Пишите один раз, запускайте на всех платформах.

.

Если вы заботитесь о конфиденциальности пользователей, не используйте Facebook JavaScript SDK

Некоторые SDK (я смотрю на вас, Facebook!) Вставляют iframe на ваш веб-сайт, чтобы отображать кнопку «Продолжить как {MyName}» или «Войти с помощью Facebook». Загрузка этого iframe позволяет Facebook узнать, что этот конкретный пользователь в настоящее время находится на вашем веб-сайте. Таким образом, Facebook знает о поведении пользователей при просмотре страниц без его явного согласия.

Первоначально опубликовано на https://community.risingstack.com 6 декабря 2019 г.