Ardán JavaScript ar thaobh an fhreastalaí Node.js 21.0 ar fáil

Состоялся релиз Node.js 21.0, платформы для выполнения сетевых приложений на языке JavaScript. Поддержка ветки Node.js 21.0 будет осуществляться в течение 6 месяцев. В ближайшие дни будет завершена стабилизация ветки Node.js 20, которая получит статус LTS и будет поддерживаться до апреля 2026 года. Сопровождение прошлой LTS-ветки Node.js 18.0 продлится до сентября 2025 года, а позапрошлой LTS-ветки 16.0 до апреля 2024 года.

Príomhfheabhsúcháin:

  • Объявлен стабильным API Fetch, предназначенный для загрузки ресурсов по сети и упрощающий написание универсального JavaScript-кода, пригодного для работы на стороне сервера и клиента. Реализация основана на коде из HTTP/1.1 клиента undici и максимально приближена к аналогичному API, предоставляемому в браузерах. API включает в себя метод fetch() и объекты Headers. Request и Response, представляющие HTTP-заголовки, запрос и ответ. const res = await fetch(‘https://nodejs.org/api/documentation.json’); if (res.ok) { const data = await res.json(); console.log(data); }
  • Стабилизирована поддержка API WebStreams, предоставляющего доступ к потокам данных, полученным по сети. API даёт возможность добавить свои обработчики, работающие с данными по мере поступления информации по сети, не дожидаясь загрузки всего файла. В Node.js доступны такие объекты, как ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream и DecompressionStream.
  • Добавлена экспериментальная реализация клиента WebSocket, совместимая с браузерами. Для включения поддержки WebSocket предусмотрен флаг «—experimental-websocket».
  • Добавлен экспериментальный режим использования по умолчанию реализации JavaScript-модулей ESM (ECMAScript Modules, применяется в модулях для браузеров) вместо CommonJS (специфичен для Node.js). Изменение не затрагивает модули, формат которых явно определён через поле «type» в package.json, задан через флаг «—input-type» или очевиден в силу расширения файла (.mjs для ESM, .cjs для CommonJS). При этом модули, которые явно не определены как CommonJS (например, имеют расширение «.js»), при включении нового режима будут восприниматься как модули ESM. Для активации новых настроек модулей предложен флаг «—experimental-default-type».
  • Движок V8 обновлён до версии 11.8, применяемой в Chromium 118, в котором появилась поддержка метода ArrayBuffer.prototype.transfer, возможности группировки массивов (метод groupBy) и WebAssembly-инструкций обработки констант (i32.add, i32.sub, i32.mul, i64.add, i64.sub и i64.mul).
  • Прекращена поддержка обработчика globalPreload, вместо которого для настройки модулей следует использовать вызовы register и initialize.
  • В функцию fs.writeFile добавлена опция «flush» для принудительного сброса данных на накопитель после каждой операции записи.
  • Повышена производительность кода, связанного с разбором URL, API fetch, streams, node:fs и HTTP.
  • Добавлен глобальный объект navigator. Например, для получения данных о числе ядер CPU можно использовать свойство navigator.hardwareConcurrency.
  • В параметре «—test» добавлена поддержка glob-масок для выбора запускаемых тестов (например, можно указать «—test **/*.test.js.»).
  • Обновлены входящие в комплект пакетный менеджер npm 10.2.0 и парсер llhttp 9.1.2.
  • Прекращена поддержка Visual Studio 2019 и версий macOS старее 11.0.

Is féidir an t-ardán Node.js a úsáid chun feidhmchláir Ghréasáin a chothabháil agus chun cláir rialta líonra cliant agus freastalaí a chruthú. Chun feidhmiúlacht na n-iarratas ar Node.js a leathnú, ullmhaíodh bailiúchán mór modúl, inar féidir leat modúil a aimsiú le cur i bhfeidhm HTTP, SMTP, XMPP, DNS, FTP, IMAP, freastalaithe POP3 agus cliaint, modúil le haghaidh comhtháthú le creataí gréasáin éagsúla, láimhseálaithe WebSocket agus Ajax , nascóirí DBMS (MySQL, PostgreSQL, SQLite, MongoDB), innill templating, innill CSS, feidhmiú halgartaim criptithe agus córais údaraithe (OAuth), parsers XML.

Chun próiseáil líon mór iarrataí comhthreomhara a áirithiú, úsáideann Node.js samhail forghníomhaithe cód asincrónach bunaithe ar láimhseáil imeachtaí neamh-bhloic agus ar shainiú láimhseálaithe glao-ais. Is iad na modhanna tacaithe le haghaidh naisc ilphléacsála ná epoll, kqueue, /dev/poll, agus roghnaigh. Le haghaidh ilphléacsáil naisc, úsáidtear an leabharlann libuv, atá ina breiseán do libev ar chórais Unix agus IOCP ar Windows. Úsáidtear an leabharlann libeio chun linn snáithe a chruthú, agus déantar c-ares a chomhtháthú chun fiosrúcháin DNS a dhéanamh i mód neamh-bhloic. Déantar na glaonna córais go léir is cúis le blocáil taobh istigh den linn snáithe agus ansin, cosúil le láimhseálaithe comhartha, aistrítear toradh a gcuid oibre ar ais trí phíobán gan ainm (píopa). Soláthraítear forghníomhú cód JavaScript trí úsáid a bhaint as an inneall V8 atá forbartha ag Google (ina theannta sin, tá Microsoft ag forbairt leagan de Node.js leis an inneall Chakra-Core).

Ag a chroí, tá Node.js cosúil leis na creataí Perl AnyEvent, Ruby Event Machine, Python Twisted, agus cur i bhfeidhm imeacht Tcl, ach tá lúb na hócáide i Node.js i bhfolach ón bhforbróir agus cosúil le láimhseáil imeachtaí in iarratas gréasáin a ritheann. sa bhrabhsálaí. Agus iarratais á scríobh agat le haghaidh nód.js, ní mór duit na sonraí a bhaineann le ríomhchlárú faoi stiúir imeachtaí a mheas, mar shampla, in ionad "var result = db.query ("roghnaigh..");" le fanacht le críochnú na hoibre agus próiseáil na dtorthaí ina dhiaidh sin, úsáideann Node.js prionsabal an fhorghníomhaithe asincrónach, i.e. déantar an cód a chlaochlú go "db.query" ("select..", function (toradh) {próiseáil torthaí});", ina gcuirfear an rialú ar aghaidh chuig an gcód breise láithreach, agus déanfar toradh an cheist a phróiseáil de réir mar a thagann na sonraí.

Foinse: oscailtenet.ru

Add a comment