Tuāpapa JavaScript taha-tūmau Node.js 18.0 e wātea ana

I tukuna a Node.js 18.0, he papa mo te whakahaere i nga tono whatunga i roto i te JavaScript. Node.js 18.0 kua whakarōpūtia hei peka tautoko mo te wa roa, engari ko tenei mana ka tohua hei te Oketopa anake, i muri i te whakapumautanga. Ka tautokohia a Node.js 18.x tae noa ki Paenga-whāwhā 2025. Ko te tiaki o te peka LTS o mua o Node.js 16.x ka mau ki Paenga-whawha 2024, me te tau i mua i te peka LTS whakamutunga 14.x ki Paenga-whawha 2023. Ka mutu te pekanga 12.x LTS i te Paenga-whāwhā 30th, ka mutu te pekanga Node.js 17.x i te Pipiri 1st.

Nga whakapainga matua:

  • Kua whakahouhia te miihini V8 ki te putanga 10.1, e whakamahia ana i roto i te Chromium 101. Ka whakatauritea ki te tukunga 17.9.0 o Node.js, he tautoko inaianei mo nga ahuatanga penei i nga tikanga findLast me te findLastIndex mo te rapu huānga e pa ana ki te mutunga o he huinga, me te mahi Intl.supportedValuesOf. Kua pai ake te API o te rohe. Kua whakaterehia te arawhitinga o nga mara karaehe me nga tikanga motuhake.
  • Ko te API Tiki() whakamatautau kua whakahohea ma te taunoa, i hangaia hei uta rauemi ki runga i te whatunga. Ko te whakatinanatanga i runga i te waehere mai i te HTTP / 1.1 undici kiritaki me te tata ki te API rite e whakaratohia ana i roto i nga kaitirotiro. Kei roto i tenei ko te tautoko mo nga atanga FormData, Pane, Tono me te Whakautu mo te raweke i te tono HTTP me nga pane whakautu. const res = tatari ki te tiki('https://nodejs.org/api/documentation.json'); if (res.ok) {const data = tatari res.json(); console.log(raraunga); }
  • Kua taapirihia he whakatinanatanga whakamatautau o te Web Streams API, e whakarato ana i te uru ki nga awa raraunga ka riro mai i te whatunga. Ka taea e te API te taapiri i o ake kaihautu ki te mahi me nga raraunga ka tae mai nga korero i runga i te whatunga, me te kore e tatari kia tangohia te katoa o te konae. Ko nga mea e waatea ana i Node.js ko ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream, me DecompressionStream.
  • Kua nukuhia te Blob API ki te noho pumau, ka taea e koe te whakauru i nga raraunga mata korekore mo te whakamahi haumaru ki nga miro kaimahi rereke.
  • Ko te BroadcastChannel API kua pumau, ka taea e koe te whakarite i te whakawhiti karere i roto i te aratau tukutahi i roto i te whakatakotoranga "kotahi te kaituku - he maha nga kaiwhiwhi".
  • Kua tāpirihia te kōpuku kōwae whakamātau:whakamātautau mō te hanga me te whakahaere i ngā whakamātautau i roto i te JavaScript e whakahoki hua ana ki te hōputu TAP (Test Anything Protocol).
  • Ko te whakatipuranga o nga huihuinga kua rite mo Red Hat Enterprise Linux (RHEL) 8 me etahi atu tohatoha i runga i te Glibc 2.28+, tae atu ki a Debian 10 me Ubuntu 20.04, me te macOS 10.15+ hoki e whakaratohia ana. Na nga raru o te hanga miihini V8, kua aukatia te hangahanga moka-32 mo Windows mo te wa poto.
  • He whiringa whakamatautau hei hanga i tetahi Node.js ka taea te whakahaere me nga waahanga kua tohua e te kaiwhakamahi i arawhiti i te tiimatanga. Hei tautuhi i nga waahanga timatanga, kua taapirihia te whiringa "--node-snapshot-main" ki te tuhinga hanga whirihora, hei tauira, "./configure —node-snapshot-main=marked.js; ingoa node"

Ka taea te whakamahi i te turanga Node.js mo te tiaki tūmau o nga tono Tukutuku me te hanga i nga papatono whatunga kiritaki me te tūmau. Hei whakawhānui ake i te mahinga o nga tono mo Node.js, kua rite te kohinga nui o nga waahanga, ka kitea e koe nga waahanga me te whakatinanatanga o te HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 tūmau me nga kiritaki, kōwae mo te whakauru. me nga momo angamahi tukutuku, WebSocket me Ajax kaihautu , DBMS tūhonohono (MySQL, PostgreSQL, SQLite, MongoDB), templating engines, CSS engines, whakatinanatanga o crypto algorithms me nga punaha whakamana (OAuth), XML parser.

Hei whakarite i te tukatuka o te maha o nga tono whakarara, ka whakamahi a Node.js i tetahi tauira mahi waehere tukutahi i runga i te whakahaere takahanga kore-aukati me te whakamaramatanga o nga kaikawe waea. Ko nga tikanga e tautokohia ana mo nga hononga maha ko te epoll, kqueue, /dev/poll, me te kowhiri. Mo te hononga maha, ka whakamahia te whare pukapuka libuv, he taapiri mo te libev i runga i nga punaha Unix me te IOCP i Windows. Ka whakamahia te whare pukapuka libeio ki te hanga i tetahi puna miro, ka whakauruhia nga c-ares ki te mahi i nga patai DNS i roto i te aratau aukati-kore. Ko nga waea waea katoa e aukati ana ka mahia ki roto i te puna miro, katahi ano ka rite ki nga kaikawe tohu, ka whakahoki i te hua o a raatau mahi ma te paipa (paipa) kore ingoa. Ko te mahinga o te waehere JavaScript ka tukuna ma te whakamahi i te miihini V8 i whakawhanakehia e Google (i tua atu, kei te whakawhanake a Microsoft i tetahi putanga o Node.js me te miihini Chakra-Core).

I tona kaupapa, he rite te Node.js ki te Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks, me te whakatinanatanga o te kaupapa Tcl, engari ko te takahanga takahanga i Node.js kei te huna mai i te kaiwhakawhanake me te rite ki te whakahaere kaupapa i roto i te tono tukutuku e rere ana. i roto i te pūtirotiro. I te wa e tuhi ana i nga tono mo te node.js, me whai whakaaro koe ki nga ahuatanga o te kaupapa-a-takahanga, hei tauira, kaua e mahi "var result = db.query("select..");" me te tatari mo te whakaotinga o te mahi me te tukatuka i muri mai o nga hua, ka whakamahia e Node.js te kaupapa o te mahi tukutahi, ara. ka huri te waehere ki te "db.query("twhiria..", mahi (hua) {tukatuka hua});", ka haere tonu te mana ki etahi atu waehere, ka tukatukahia te hua patai ka tae mai nga raraunga.

Source: opennet.ru

Tāpiri i te kōrero