Sehatra JavaScript amin'ny lafiny server Node.js 20.0 misy

Navoaka ny Node.js 20.0, sehatra iray hampandehanana rindranasa tambajotra amin'ny JavaScript. Node.js 20.0 dia sokajiana ho sampana fanohanana maharitra, saingy io sata io dia homena raha tsy amin'ny volana Oktobra, aorian'ny fanamafisana. Node.js 20.x dia tohanana hatramin'ny 30 aprily 2026. Ny fikojakojana ny sampana LTS an'ny Node.js 18.x teo aloha dia haharitra hatramin'ny Aprily 2025, ary ny iray talohan'ny sampana LTS farany 16.x hatramin'ny Septambra 2023. Ny sampana 14.x LTS dia hatsahatra amin'ny 30 aprily, ary ny sampana fandaharana Node.js 19.x dia hajanona amin'ny 1 Jona.

Fanatsarana lehibe:

  • Ny motera V8 dia nohavaozina ho version 11.3, ampiasaina amin'ny Chromium 113. Ny fiovana raha oharina amin'ny sampana Node.js 19, izay nampiasa ny motera Chromium 107, dia ahitana ny String.prototype.isWellFormed sy toWellFormed, ny Array.prototype ary TypedArray. fomba prototype miasa miaraka amin'ny dika mitovy rehefa manova zavatra Array sy TypedArray, ny saina "v" ao amin'ny RegExp, manohana ny fanovana ny ArrayBuffer ary mampitombo ny haben'ny SharedArrayBuffer, ny famerenana ny rambony (antsoina amin'ny rambony) ao amin'ny WebAssembly.
  • Naroso ny mekanika Modely Fahazoan-dalana andrana izay mamela ny famerana ny fidirana amin'ny loharano sasany mandritra ny famonoana. Ny fanohanana Modely Fahazoan-dΓ lana dia alefa amin'ny famaritana ny saina "--permission-experimental" rehefa mihazakazaka. Ny fampiharana voalohany dia manolotra safidy hamerana ny fanoratana (--allow-fs-write) sy ny famakiana (--allow-fs-read) ny fidirana amin'ny ampahany sasany amin'ny rafi-drakitra, ny fizotran'ny ankizy (--allow-child-process), ary add-ons (--no-addons) ) sy kofehy (--allow-worker). Ohatra, raha mamela ny fanoratana ao amin'ny lahatahiry /tmp sy mamaky ny rakitra /home/index.js dia azonao atao ny mamaritra hoe: node β€”permission-experimental β€”allow-fs-write=/tmp/ β€”allow-fs-read=/home /index.js index .js

    Mba hanamarinana ny fidirana, dia soso-kevitra ny hampiasa ny process.permission.has() fomba, ohatra, "process.permission.has('fs.write',"/tmp/test").

  • Ny ECMAScript External Module (ESM) mpitantana entana amin'ny alΓ lan'ny safidy "--experimental-loader" izao dia mandeha amin'ny kofehy misaraka, mitoka-monina amin'ny kofehy lehibe, manafoana ny fihaonan'ny kaody fampiharana sy ny maody ESM feno. Mitovy amin'ny navigateur, ny fomba import.meta.resolve() dia tanterahana miaraka amin'ny antso avy amin'ny fampiharana. Ao amin'ny iray amin'ireo sampana manaraka an'ny Node.js, ny fanohanana ny fametahana ESM dia nokasaina hafindra amin'ny sokajy fahaiza-manao matanjaka.
  • Ny module node:test (test_runner), natao hamoronana sy hampandehanana fitsapana amin'ny JavaScript izay mamerina valiny amin'ny endrika TAP (Test Anything Protocol) dia natao ho stable.
  • Ekipa fampandrosoana mitokana no niforona tompon'andraikitra amin'ny fanatsarana ny fampandehanana, izay, rehefa manomana sampana vaovao, dia niasa mba hanafaingana ireo singa fampandehanana isan-karazany, anisan'izany ny parsing URL, fetch() ary EventTarget. Ohatra, nahena antsasany ny overhead amin'ny fanombohana EventTarget, nihatsara be ny fomba fiasan'ny URL.canParse(), ary nohatsaraina ny fahombiazan'ny timer. Tafiditra ao anatin'izany ihany koa ny famoahana parser URL manara-penitra, Ada 2.0, voasoratra ao amin'ny C++.
  • Nitohy ny fampivoarana ny fahaiza-manao andrana amin'ny fandefasana fampiharana amin'ny endrika rakitra tokana azo tanterahana (SEA, Applications Executable tokana). Ny famoronana fisie azo tanterahana izao dia mitaky fanoloana blob novokarina avy amin'ny fisie fisie amin'ny endrika JSON (fa tsy manolo rakitra JavaScript).
  • Fanatsarana ny fampifanarahana ny Web Crypto API miaraka amin'ny fampiharana avy amin'ny tetikasa hafa.
  • Nanampy fanohanana ofisialy ho an'ny Windows amin'ny rafitra ARM64.
  • Nitohy ny fampiharana ny fanohanana ny fanitarana WASI (WebAssembly System Interface) amin'ny famoronana rindranasa WebAssembly irery. Nesorina ny filana mamaritra sainam-baiko manokana ahafahana manohana ny WASI.

Ny sehatra Node.js dia azo ampiasaina amin'ny fikojakojana ny serivisy amin'ny rindranasa an-tranonkala sy amin'ny famoronana programa tambajotra mpanjifa sy mpizara tsy tapaka. Mba hanitarana ny fampandehanan-draharahan'ny fampiharana ho an'ny Node.js, dia efa nomanina ny famoriam-bola be dia be, izay ahitanao ny maody miaraka amin'ny fampiharana ny HTTP, SMTP, XMPP, DNS, FTP, IMAP, mpizara POP3 sy mpanjifa, modules ho an'ny fampidirana. miaraka amin'ny rafi-tranonkala isan-karazany, WebSocket sy Ajax mpitantana , DBMS connectors (MySQL, PostgreSQL, SQLite, MongoDB), maotera templating, CSS maotera, fampiharana ny crypto algorithms sy ny fanomezan-dΓ lana rafitra (OAuth), XML parsers.

Mba hiantohana ny fanodinana ny fangatahana mifanitsy amin'ny maro, Node.js dia mampiasa maodely famonoana kaody asynchronous mifototra amin'ny fikarakarana hetsika tsy manakana sy ny famaritana ireo mpandrindra antso. Ny fomba tohana ho an'ny fifandraisana multiplexing dia epoll, kqueue, /dev/poll, ary safidio. Ho an'ny fifandraisana multiplexing dia ampiasaina ny tranomboky libuv, izay add-on ho an'ny libev amin'ny rafitra Unix sy IOCP amin'ny Windows. Ny tranomboky libeio dia ampiasaina hamoronana dobo filomanosana, ary ny c-ares dia ampidirina amin'ny fanaovana fanontaniana DNS amin'ny fomba tsy manakana. Ny antson'ny rafitra rehetra mahatonga ny fanakanana dia atao ao anatin'ny dobo filomanosana ary avy eo, toy ny mpikirakira famantarana, dia mamindra ny vokatry ny asany amin'ny alalan'ny fantsona tsy fantatra anarana (sodina). Ny famonoana ny kaody JavaScript dia omena amin'ny alΓ lan'ny fampiasana ny motera V8 novolavolain'ny Google (ankoatra izany, Microsoft dia mamolavola dikan-teny Node.js miaraka amin'ny motera Chakra-Core).

Amin'ny fotony, ny Node.js dia mitovitovy amin'ny Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks, ary ny fampiharana hetsika Tcl, fa ny tadivavarana hetsika ao amin'ny Node.js dia miafina amin'ny mpamorona ary mitovy amin'ny fikarakarana hetsika amin'ny fampiharana tranonkala mihazakazaka. amin'ny navigateur. Rehefa manoratra rindranasa ho an'ny node.js ianao dia mila mandinika ny mombamomba ny fandaharana entin'ny hetsika, ohatra, fa tsy manao "var result = db.query("select..");" miaraka amin'ny fiandrasana ny fahavitan'ny asa sy ny fanodinana vokatra manaraka, ny Node.js dia mampiasa ny fitsipiky ny famonoana asynchronous, i.e. ny kaody dia ovaina ho "db.query("select..", asa (vokatra) {fikarakarana ny vokatra});", izay ny fanaraha-maso dia handalo avy hatrany amin'ny code fanampiny, ary ny valin'ny fangatahana dia hokarakaraina rehefa tonga ny data.

Source: opennet.ru

Add a comment