Servo-parte JavaScript platform Node.js 21.0 available

Node.js 21.0 dimissus est, tribunal ad applicationes retis in JavaScript. Node.js 21.0 ramus per 6 menses sustentabitur. In diebus venientibus, stabilitio Node.js 20 ramus complebitur, quae statum LTS recipiet et usque ad Aprilem MMXXVI sustentabitur. Tutela prioris LTS rami Node.js 2026 usque ad Septembrem 18.0 durabit, et annus ante diem ultimum LTS ramusculi 2025 usque ad Aprilem 16.0 .

Praecipua meliora:

  • Fetch API declaratus est stabilis, onerandi facultates super retiaculis disposita et simplificans scripturam JavaScript codicem universalis aptum ad operandum in latera servientis et clientis. Exsecutio in codice fundata est ab HTTP/1.1 clientis undici et quam proxime potest simili API provisum in navigatoribus. API modum arcessitum et obiecta obiecta comprehendit. Petitio et Responsio, HTTP capitis repraesentans, petitio et responsio. const res = expecto arcesse('https://nodejs.org/api/documentation.json'); if ( res.ok) { const data = res.json(); console.log(data); }
  • Firmamentum est API WebStreams, quod accessum praebet ad notitias rivi super retia receptos, confirmatum est. API possibilis facit tractatores tuos addere qui cum notitia operis per retiaculum perveniat notitiarum, sine exspectatione totius fasciculi deponendi. Res in Node.js includunt ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream, et DecompressionStream.
  • Addita exsecutio experimentalis clientis WebSocket, compatibilis cum navigatoribus. Ut WebSocket subsidium, vexillum "experimentale-websocket" providetur.
  • Modum experimentalem addidit ad exsequendum modulorum JavaScript modulorum utens ESM (Modulae ECMAscripte, in modulis pro navigatoribus adhibita) loco CommonJS (specificae ad Node.js). Mutatio modulorum non afficit quorum forma per "typum" campum in package.json expresse definitum est, per vexillum "-input-type" specificatur, vel ob extensio tabella manifesta (.mjs pro ESM, .cjs. ad CommonJS). Modi autem qui non explicite definiuntur CommonJS (exempli gratia extensio ".js) habebuntur sicut ESM moduli cum novus modus potest. Ad novos moduli unctiones excitandas, vexillum propositum est "-experimentalis-default-type".
  • Instrumentum V8 renovatum est ad versionem 11.8, in Chromium 118, quae nunc ArrayBuffer.prototype.transfer methodum sustinet, facultas catervatim instruit (coetium methodum) et instructiones WebAssembly ad constantes processus (i32.add, i32.sub; i32.mul,i64.add,i64.sub et i64.mul).
  • Firmamentum pro globalPreload tracto discontinuata, in favorem registri et initialize vocat ad modulos configurandos.
  • A "flush" optio addita est functioni fs.writeFile ad cogendos notitias in promptu ad coegi post operationem scribere.
  • Improvisa operandi codici ad URL parsing pertinentia, affer API, rivos, nodi:fs et HTTP.
  • Negotium navigatorem globalem addidit. Exempli gratia, notitia de numero CPU metretas obtinere, navigator.hardware Concurrency proprietatis uti potes.
  • In parametro "-test", subsidium larvarum globulorum additum est ad probationes eligendas ad currendum (exempli gratia, "-test **/*.test.js.").
  • Involucrum inclusum procurator npm 10.2.0 et llhttp parser 9.1.2 renovata est.
  • Support pro Visual Studio 2019 et versiones macOS antiquiores quam 11.0 discontinuatae sunt.

In Node.js suggestum adhiberi potest tum pro servitore lateris auxiliorum applicationum interretialium, tum ad clientem ordinarium creandum et programmata retis servientis. Ad dilatandum munus applicationum ad Node.js, magna modulorum collectio parata est, in qua modulos invenire potes cum exsequenda HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 servientibus et clientibus, modulorum ad integrationem. cum variis interretialibus compagibus, WebSocket and Ajax handlers, connectors to DBMS (MySQL, PostgreSQL, SQLite, MongoDB), template engines, CSS engines, implementations of cryptographic algorithms and authorization systems (OAuth), XML parsers.

Ut processus permulta petitionum parallelarum curet, Node.js utitur exemplaris exsecutionis asynchrono codice innixo in eventu tractandi non-obstructione ac definitione tracto callback. Modi ad coniunctiones multiplices sustentatae sunt epoll, kqueue, /dev/poll et selectae. Pro connexione multiplicationis, bibliotheca libuv adhibetur, quae addendi est pro libev in systematibus Unix et IOCP in Fenestra. Libeio bibliotheca adhibetur piscinam filo creare, et c-ares integratur ad DNS queries faciendas in modo non-obturando. Omnes systematis vocat causam interclusionis intra piscinam sequelam efficiuntur et, ut tracto insignes, exitum operis sui per fistulam innominatam (pipe) reportant. Executio codicis JavaScript providetur per usum machinae V8 a Google explicatae (praeter Microsoft versionem Node.js cum machina Chakra-Core evolvit).

In core suo, Node.js similis est machinae Perl AnyEvent, Event Ruby Machine, Python compages retortae, ac Tcl eventum exsequendum, sed eventum loop in Node.js absconditum est a elit, et similis eventus tractatio in applicatione telae cursus in pasco. Cum applicationes pro node.js scribo, speciales programmationis eventus agitatae considerare debes, exempli gratia, non "var eventum = db.query"); cum exspectatione complementi operis et processus subsequentis eventus, Node.js utitur principio asynchronous executionis, i.e. codicem in "db.query" ("selectam.", munus (result) {proventus processui});" in quo potestate statim ad codicem ulteriorem transibit, et quaesitum proventum ut notitia perveniat discursum erit.

Source: opennet.ru