Server-sab JavaScript platform Node.js 18.0 muaj

Node.js 18.0 tau tso tawm, lub platform rau kev khiav haujlwm network hauv JavaScript. Node.js 18.0 raug cais raws li kev txhawb nqa mus ntev, tab sis cov xwm txheej no yuav raug muab rau lub Kaum Hli nkaus xwb, tom qab kev ruaj khov. Node.js 18.x yuav txhawb nqa txog lub Plaub Hlis 2025. Kev saib xyuas yav dhau los LTS ceg ntawm Node.js 16.x yuav kav mus txog lub Plaub Hlis 2024, thiab xyoo ua ntej LTS ceg 14.x mus txog lub Plaub Hlis 2023. Lub 12.x LTS ceg yuav raug txiav rau lub Plaub Hlis 30th, thiab Node.js 17.x staging ceg yuav raug txiav rau lub Rau Hli 1st.

Kev txhim kho tseem ceeb:

  • Lub cav V8 tau hloov kho rau version 10.1, uas yog siv hauv Chromium 101. Piv nrog rau 17.9.0 tso tawm Node.js, tam sim no muaj kev txhawb nqa rau cov yam ntxwv xws li findLast thiab findLastIndex txoj hauv kev nrhiav cov ntsiab lus txheeb ze rau qhov kawg ntawm ib qho array, thiab Intl.supportedValuesOf muaj nuj nqi. Txhim kho Intl.Locale API. Kev pib ntawm chav kawm teb thiab cov txheej txheem ntiag tug tau nrawm dua.
  • Qhov kev sim fetch() API yog qhib los ntawm lub neej ntawd, tsim los rau kev thauj khoom hauv lub network. Qhov kev siv yog raws li cov cai los ntawm HTTP / 1.1 undici tus neeg siv khoom thiab yog ze li sai tau rau API zoo sib xws hauv browsers. Qhov no suav nrog kev txhawb nqa rau FormData, Headers, Request and Response interfaces for manipulating HTTP request and response headers. const res = await fetch('https://nodejs.org/api/documentation.json'); yog (res.ok) { const data = await res.json(); console.log(data); }
  • Ib qho kev sim ua tiav ntawm Web Stream API tau ntxiv, muab kev nkag mus rau cov ntaub ntawv ntws tau txais hauv lub network. API ua rau nws muaj peev xwm ntxiv koj tus kheej cov neeg tuav haujlwm ua haujlwm nrog cov ntaub ntawv raws li cov ntaub ntawv tuaj txog hauv lub network, tsis tas tos kom tag nrho cov ntaub ntawv rub tawm. Cov khoom tam sim no muaj nyob hauv Node.js suav nrog ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream, thiab DecompressionStream.
  • Blob API tau raug hloov mus rau qhov ruaj khov, tso cai rau koj los encapsulate cov ntaub ntawv nyoos tsis hloov pauv rau kev siv nyab xeeb hauv cov neeg ua haujlwm sib txawv.
  • BroadcastChannel API tau ua kom ruaj khov, tso cai rau koj los teeb tsa kev sib pauv ntawm cov lus hauv asynchronous hom hauv "ib tus neeg xa khoom - ntau tus neeg txais" hom.
  • Ntxiv qhov kev sim module node: xeem rau kev tsim thiab khiav cov kev xeem hauv JavaScript uas rov qab los rau hauv TAP (Test Anything Protocol) format.
  • Cov tiam ntawm kev npaj ua ke rau Red Hat Enterprise Linux (RHEL) 8 thiab lwm yam kev faib tawm raws li Glibc 2.28+, suav nrog Debian 10 thiab Ubuntu 20.04, nrog rau macOS 10.15+ yog muab. Vim muaj teeb meem nrog V8 lub cav tsim, tsim 32-ntsis tsim rau Windows tau raug tso tseg ib ntus.
  • Muab qhov kev xaiv sim los tsim ib qho Node.js executable nrog cov neeg siv xaiv cov khoom pib thaum pib. Txhawm rau txheeb xyuas cov khoom pib, qhov kev xaiv "--node-snapshot-main" tau ntxiv rau kev teeb tsa tsim tsab ntawv, piv txwv li, "./configure -node-snapshot-main=marked.js; npe node"

Node.js platform tuaj yeem siv rau ob qho tib si rau kev saib xyuas neeg rau zaub mov ntawm Web daim ntawv thov thiab tsim kom muaj cov neeg siv khoom niaj hnub thiab cov kev pabcuam network server. Txhawm rau nthuav dav kev ua haujlwm ntawm cov ntawv thov rau Node.js, kev sau ntau ntawm cov qauv tau npaj, uas koj tuaj yeem pom cov qauv nrog kev siv HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 servers thiab cov neeg siv khoom, modules rau kev koom ua ke nrog ntau lub vev xaib, WebSocket thiab Ajax handlers, DBMS connectors (MySQL, PostgreSQL, SQLite, MongoDB), templates engines, CSS xyaw, kev siv crypto algorithms thiab tso cai systems (OAuth), XML parsers.

Txhawm rau kom ua tiav qhov kev thov ntau ntawm qhov sib npaug, Node.js siv tus qauv asynchronous code ua tiav raws li kev tswj hwm tsis txwv qhov kev tshwm sim thiab lub ntsiab lus ntawm kev hu xov tooj rov qab. Cov kev txhawb nqa rau kev sib txuas sib txuas yog epoll, kqueue, /dev/poll, thiab xaiv. Rau kev sib txuas multiplexing, lub tsev qiv ntawv libuv yog siv, uas yog ib qho ntxiv rau libev ntawm Unix systems thiab IOCP ntawm Windows. Lub tsev qiv ntawv libeio yog siv los tsim ib lub pas dej, thiab c-ares koom ua ke los ua DNS queries hauv hom tsis thaiv. Txhua qhov kev hu xov tooj uas ua rau kev thaiv yog raug tua hauv cov xov pas dej ua ke thiab tom qab ntawd, zoo li cov teeb liab tuav, hloov cov txiaj ntsig ntawm lawv txoj haujlwm rov qab los ntawm cov yeeb nkab tsis muaj npe (cov yeeb nkab). Kev ua tiav ntawm JavaScript code yog muab los ntawm kev siv lub cav V8 tsim los ntawm Google (tsis tas li ntawd, Microsoft tab tom tsim ib version ntawm Node.js nrog Chakra-Core engine).

Ntawm nws qhov tseem ceeb, Node.js zoo ib yam li Perl AnyEvent, Ruby Event Machine, Python Twisted moj khaum, thiab Tcl kev tshwm sim, tab sis qhov kev tshwm sim voj nyob rau hauv Node.js tau muab zais los ntawm tus tsim tawm thiab zoo li qhov xwm txheej tuav hauv daim ntawv thov web khiav. hauv browser. Thaum sau ntawv thov rau node.js, koj yuav tsum xav txog qhov tshwj xeeb ntawm qhov kev tshwm sim-tsav programming, piv txwv li, tsis txhob ua "var result = db.query("xaiv..");" nrog tos kom tiav kev ua haujlwm thiab ua tiav cov txiaj ntsig tom qab, Node.js siv lub hauv paus ntsiab lus ntawm asynchronous execution, i.e. cov cai tau hloov mus rau "db.query("xaiv..", muaj nuj nqi (tshem tawm) {tshem tawm ua haujlwm});", nyob rau hauv uas kev tswj yuav tam sim dhau mus rau cov lej ntxiv, thiab cov lus nug tshwm sim yuav ua tiav raws li cov ntaub ntawv tuaj txog.

Tau qhov twg los: opennet.ru

Ntxiv ib saib