Server-ẹgbẹ JavaScript Syeed Node.js 18.0 wa

Node.js 18.0 ti tu silẹ, ipilẹ kan fun ṣiṣe awọn ohun elo nẹtiwọọki ni JavaScript. Node.js 18.0 jẹ ipin bi ẹka atilẹyin igba pipẹ, ṣugbọn ipo yii yoo jẹ sọtọ ni Oṣu Kẹwa nikan, lẹhin imuduro. Node.js 18.x yoo ṣe atilẹyin titi di Oṣu Kẹrin ọdun 2025. Itọju ẹka LTS ti tẹlẹ ti Node.js 16.x yoo ṣiṣe titi di Oṣu Kẹrin ọdun 2024, ati ọdun ṣaaju ẹka LTS ti o kẹhin 14.x titi di Oṣu Kẹrin ọdun 2023. Ẹka 12.x LTS yoo dawọ duro ni Oṣu Kẹrin Ọjọ 30th, ati pe ẹka iduro Node.js 17.x yoo dawọ duro ni Oṣu Kẹfa ọjọ 1st.

Awọn ilọsiwaju akọkọ:

  • Enjini V8 ti ni imudojuiwọn si ẹya 10.1, eyiti o lo ni Chromium 101. Ti a ṣe afiwe si itusilẹ 17.9.0 ti Node.js, atilẹyin wa bayi fun awọn ẹya bii FindLast ati awọn ọna wiwaLastIndex fun wiwa awọn eroja ni ibatan si opin ti ohun orun, ati awọn Intl.supportedValuesOf iṣẹ. Imudara Intl.Locale API. Ibẹrẹ ti awọn aaye kilasi ati awọn ọna ikọkọ ti ni iyara.
  • Imudani () API ti ṣiṣẹ nipasẹ aiyipada, ti a ṣe apẹrẹ fun ikojọpọ awọn orisun lori nẹtiwọọki. Imuse naa da lori koodu lati ọdọ alabara HTTP/1.1 undici ati pe o sunmọ bi o ti ṣee ṣe si API ti o jọra ti a pese ni awọn aṣawakiri. Eyi pẹlu atilẹyin fun FormData, Awọn akọle, Ibeere ati awọn atọkun Idahun fun ifọwọyi ibeere HTTP ati awọn akọle idahun. const res = duro de ('https://nodejs.org/api/documentation.json'); ti o ba ti (res.ok) {const data = duro res.json (); console.log (data); }
  • A ti ṣafikun imuse idanwo ti Awọn ṣiṣan Oju opo wẹẹbu API, pese iraye si awọn ṣiṣan data ti o gba lori nẹtiwọọki naa. API jẹ ki o ṣee ṣe lati ṣafikun awọn olutọju tirẹ lati ṣiṣẹ pẹlu data bi alaye ti de lori nẹtiwọọki, laisi iduro fun gbogbo faili lati ṣe igbasilẹ. Awọn nkan ti o wa bayi ni Node.js pẹlu ReadableStream *, TransformStream *, WritableStream *, TextEncoderStream, TextDecoderStream, CompressionStream, ati DecompressionStream.
  • Blob API ti ni a ti gbe si iduroṣinṣin, gbigba ọ laaye lati ṣafikun data aise ti ko yipada fun lilo ailewu ni oriṣiriṣi awọn okun oṣiṣẹ.
  • API BroadcastChannel ti jẹ iduroṣinṣin, gbigba ọ laaye lati ṣeto paṣipaarọ awọn ifiranṣẹ ni ipo asynchronous ni ọna kika “olufiranṣẹ kan - ọpọlọpọ awọn olugba”.
  • Afikun node module esiperimenta: idanwo fun ṣiṣẹda ati ṣiṣiṣẹ awọn idanwo ni JavaScript ti o da awọn abajade pada ni ọna kika TAP (Ṣayẹwo Ohunkankan Ilana).
  • Iran ti awọn apejọ ti a ti ṣetan fun Red Hat Enterprise Linux (RHEL) 8 ati awọn ipinpinpin miiran ti o da lori Glibc 2.28+, pẹlu Debian 10 ati Ubuntu 20.04, ati fun macOS 10.15+ ti pese. Nitori awọn iṣoro pẹlu ikole ẹrọ V8, ẹda ti awọn itumọ 32-bit fun Windows ti duro fun igba diẹ.
  • Ti pese aṣayan esiperimenta lati kọ Node.js ti o ṣiṣẹ pẹlu awọn paati ti olumulo yan ti ipilẹṣẹ ni ibẹrẹ. Lati ṣalaye awọn paati ibẹrẹ, aṣayan “--node-snapshot-main” ti jẹ afikun si iwe afọwọkọ atunto, fun apẹẹrẹ, “./configure —node-snapshot-main=marked.js; oruko node"

Syeed Node.js le ṣee lo mejeeji fun itọju olupin ti awọn ohun elo wẹẹbu ati fun ṣiṣẹda alabara deede ati awọn eto nẹtiwọọki olupin. Lati faagun iṣẹ ṣiṣe ti awọn ohun elo fun Node.js, akojọpọ nla ti awọn modulu ti pese, ninu eyiti o le wa awọn modulu pẹlu imuse HTTP, SMTP, XMPP, DNS, FTP, IMAP, awọn olupin POP3 ati awọn alabara, awọn modulu fun iṣọpọ pẹlu orisirisi awọn ilana wẹẹbu, WebSocket ati Ajax handlers , DBMS asopo (MySQL, PostgreSQL, SQLite, MongoDB), templating enjini, CSS enjini, awọn imuse ti crypto algoridimu ati ašẹ awọn ọna šiše (OAuth), XML parsers.

Lati rii daju sisẹ ti nọmba nla ti awọn ibeere ti o jọra, Node.js nlo awoṣe ipaniyan koodu asynchronous ti o da lori mimu iṣẹlẹ ti kii ṣe idilọwọ ati asọye ti awọn olutọju ipe. Awọn ọna ti a ṣe atilẹyin fun awọn asopọ pọpọ jẹ epoll, kqueue, /dev/poll, ati yan. Fun multixing asopọ, ile-ikawe libuv ti lo, eyiti o jẹ afikun fun libev lori awọn eto Unix ati IOCP lori Windows. Ile-ikawe libeio ni a lo lati ṣẹda adagun okun, ati c-ares ti ṣepọ lati ṣe awọn ibeere DNS ni ipo ti kii ṣe idinamọ. Gbogbo awọn ipe eto ti o fa idinamọ ni a ṣe ninu adagun okun ati lẹhinna, bii awọn oluṣakoso ifihan agbara, gbe abajade iṣẹ wọn pada nipasẹ paipu ti a ko darukọ (paipu). Awọn ipaniyan ti koodu JavaScript ti pese nipasẹ lilo ẹrọ V8 ti o dagbasoke nipasẹ Google (ni afikun, Microsoft n ṣe agbekalẹ ẹya Node.js pẹlu ẹrọ Chakra-Core).

Ni ipilẹ rẹ, Node.js jẹ iru si Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks, ati imuse iṣẹlẹ iṣẹlẹ Tcl, ṣugbọn iṣẹlẹ iṣẹlẹ ni Node.js ti wa ni pamọ lati ọdọ olupilẹṣẹ ati ki o jọmọ mimu iṣẹlẹ ni ohun elo wẹẹbu nṣiṣẹ ni browser. Nigbati o ba kọ awọn ohun elo fun node.js, o nilo lati ṣe akiyesi awọn pato ti siseto-iṣẹlẹ, fun apẹẹrẹ, dipo ṣiṣe "var esi = db.query ("yan ...");" pẹlu idaduro fun ipari iṣẹ ati ṣiṣe atẹle ti awọn abajade, Node.js lo ilana ti ipaniyan asynchronous, ie. koodu naa ti yipada si "db.query ("yan ...", iṣẹ (abajade) {sisẹ abajade});", ninu eyiti iṣakoso yoo kọja lẹsẹkẹsẹ si koodu siwaju sii, ati pe abajade ibeere yoo ṣe ilana bi data ti de.

orisun: opennet.ru

Fi ọrọìwòye kun