Node.js 22.0 خپور شو، په جاواسکریپټ کې د شبکې غوښتنلیکونو چلولو لپاره یو پلیټ فارم. Node.js 22.0 د اوږدې مودې مالتړ څانګې په توګه طبقه بندي شوی، مګر دا حالت به یوازې د اکتوبر په میاشت کې د ثبات وروسته ټاکل کیږي. Node.js 22.x به د اپریل تر 30، 2027 پورې ملاتړ شي. د Node.js 20.x پخوانۍ LTS څانګې ساتل به د اپریل تر 2026 پورې دوام وکړي، او د وروستي LTS څانګې 18.x څخه مخکې کال تر اپریل 2025 پورې دوام وکړي. د Node.js 21.x مرحله کولو څانګه به د جون په 1، 2024 کې بنده شي.
اصلي پرمختګونه:
- د V8 انجن 12.4 نسخه ته تازه شوی، چې په کرومیم 124 کې کارول کیږي. د Node.js 21 څانګې په پرتله د بدلونونو په منځ کې، چې د V8 11.8 انجن یې کارولی دی)، یادونه وشوه:
- د WasmGC توسیع لپاره ملاتړ، کوم چې د پروګرام کولو ژبو کې لیکل شوي برنامو پورټینګ ساده کوي کوم چې د کثافاتو راټولونکی (کوټلین، پی ایچ پی، جاوا، او نور) ته WebAssembly کاروي. WasmGC نوي ډولونه جوړښتونه او سرې اضافه کوي چې کولی شي د غیر خطي حافظې تخصیص وکاروي.
- د Array.fromAsync() میتود لپاره ملاتړ، کوم چې په غیر متمرکز ډول د Array څیز یوه نوې بیلګه بیرته راګرځوي چې د سري په څیر، تکرار وړ یا async تکرار وړ څیز څخه کاپي شوي.
- د تکراري میتودونو لپاره ملاتړ لکه .map، .filter، .find، .take .drop، .forEach او .reduce.
- د سیټ اعتراض لپاره ملاتړ چې د ارزښتونو ټولګه تعریفوي او هغه میتودونه وړاندیز کوي چې د عام سیټ عملیات پلي کوي ، لکه تقاطع ، اتحاد ، توپیر او اضافه.
- د میګلیو اصلاح کول JIT کمپیلر د ډیفالټ لخوا فعال شوی ، چې هدف یې د ډیری کارول شوي جاواسکریپټ کوډ لپاره د لوړ فعالیت ماشین کوډ ژر تولید کول دي. د Maglev فعالول کولی شي د پام وړ لنډمهاله CLI غوښتنلیکونه ګړندي کړي چې اوږدمهاله عملیات نه ترسره کوي، د بیلګې په توګه، د Jetstrea ازموینې بشپړولو وخت 7.5٪ کم شوی، او د سپیډومیټر ازموینه 5٪.
- د جریانونو سره کار د 16 KB څخه 65 KB ته د لوړ واټر مارک اختیار ارزښت لوړولو سره ګړندی شوی (هغه حد ټاکي چې ریکارډ بفر شوی وي). د بدلون پایله د حافظې مصرف ډیریږي ، نو د محدود RAM چلولو لپاره ډیزاین شوي غوښتنلیکونه ممکن د setDefaultHighWaterMark() ته د زنګ وهلو له لارې زاړه ارزښت ته بیرته راستنیدو ته اړتیا ولري.
- د AbortSignal انسټیټیوټ ډیر اغیزمن کولو سره د fetch() او ټیسټ رنر APIs ښه فعالیت. د فایل سیسټمونو سره همغږي کار پورې اړوند د APIs فعالیت ښه شوی.
- په همغږي حالت کې د JavaScript ESM ماډلونو (ECMAScript ماډلونو) پورته کولو لپاره د "require()" زنګ کارولو لپاره تجربه لرونکي خصوصیت چمتو شوی. د ESM ماډلونه په براوزرونو کې کارول کیږي او د Node.js لپاره ځانګړي CommonJS ماډلونه ځای په ځای کوي. د "require()" له لارې د بارولو لپاره، د ESM ماډل باید په همغږي حالت کې اجرا شي (پرته له دې چې په پورتنۍ کچه انتظار وکړي). ملاتړ د "-تجربې-اړتیا-ماډول" بیرغ له لارې فعال شوی.
- د "--run" کمانډ په کارولو سره په package.json فایل کې تعریف شوي سکریپټونو چلولو تجربهي وړتیا اضافه کړه "
- د "نوډ - واچ" کمانډ د لید حالت پلي کولو سره مستحکم کټګورۍ ته لیږدول شوی چې دا ډاډ ورکوي چې پروسه بیا پیل کیږي کله چې وارد شوي فایل بدل شي (د مثال په توګه ، که "نوډ - واچ index.js" اجرا کیږي ، نو پروسه به په اوتومات ډول بیا پیل شي کله چې index.js بدلون ومومي).
- د WebSocket API اصلي تطبیق ثبات لري، WebSocket ته اجازه ورکوي چې د پیرودونکي حالت کې د اضافي انحصارونو نصبولو پرته وکارول شي.
- د نیویګیټر API لپاره جزوی ملاتړ اضافه شوی.
- د ویبسټریم API د ډیفلیټ - خام کمپریشن فارمیټ لپاره ملاتړ اضافه کړی.
- په نوډ:fsmodule کې د ګلوب او globSync فنکشنونه اضافه شوي د فایل لارو د نمونو سره سمون لپاره.
- د ناسم تنظیم شوي IPv6 سټیکونو ښه اداره کول. د IPv6 عملیاتو سره د ستونزو په صورت کې د ګړندي رول بیک لپاره د Happy Eyeballs الګوریتم پلي شوی.
- د util API رد شوی دی.
- د انحصاري نسخې تازه شوي: npm 10.5.1، libuv 1.48.0، simdutf 5.2.3، c-ares 1.28.1، zlib 1.3.0.1-motley-24c07df، simdjson تر 3.8.0، ada.2.7.7 او 6.6.0i. .
د Node.js پلیټ فارم د ویب غوښتنلیکونو د سرور اړخ ملاتړ او د معیاري مراجعینو او سرور اړخ شبکې پروګرامونو جوړولو لپاره کارول کیدی شي. د Node.js غوښتنلیکونو فعالیت پراخولو لپاره، د ماډلونو یوه لویه ټولګه چمتو شوې، پشمول د هغو پلي کونکو سرورونه او د HTTP، SMTP، XMPP، DNS، FTP، IMAP، POP3 مراجعین، د مختلفو ویب چوکاټونو سره د ادغام لپاره ماډلونه، د ویب ساکټ او اجاکس هینډلرونه، د DBMS سره نښلونکي (MySQL، PostgreSQL، SQLite، MongoDB)، د ټیمپلیټ انجنونه، CSS انجنونه، د کریپټوګرافیک الګوریتمونو او د واک ورکولو سیسټمونو (OAuth) پلي کول، XML پارسرونه.
د لوی شمیر موازي غوښتنو اداره کولو لپاره ، Node.js د غیر بلاک کولو پیښې پروسس کولو او د کال بیک هینډلرونو تعریف کولو پراساس د غیر متناسب کوډ اجرا کولو ماډل کاروي. د ملټي پلیکسینګ اتصال لپاره ملاتړ شوي میتودونه شامل دي ایپل، کیو، /dev/poll، او انتخاب. د اتصال ملټي پلیکسینګ لپاره، د libuv کتابتون کارول کیږي، کوم چې په یونیکس سیسټمونو کې libev او په وینډوز کې IOCP ته اضافه ده. د libeio کتابتون د تار پول جوړولو لپاره کارول کیږي، او c-ares په غیر بلاک کولو حالت کې د DNS پوښتنو ترسره کولو لپاره مدغم شوی. ټول سیسټم زنګونه چې د بلاک کولو لامل کیږي د تار په حوض کې اجرا کیږي او بیا د سیګنال هینډلرانو په څیر ، د دوی د کار پایله بیرته د نامعلوم پایپ له لارې تیریږي.
د جاواسکریپټ کوډ اجرا کول د ګوګل لخوا رامینځته شوي د V8 انجن کارولو له لارې تضمین شوي (سربیره پردې ، مایکروسافټ د چاکرا کور انجن سره د Node.js نسخه رامینځته کوي). په اصلي برخه کې، Node.js د Perl AnyEvent، Ruby Event Machine، Python Twisted چوکاټونو او په Tcl کې د پیښو پلي کولو ته ورته دی، مګر په Node.js کې د پیښې لوپ د پراختیا کونکي څخه پټ دی او په ویب غوښتنلیک کې د پیښې پروسس کولو سره ورته دی. په براوزر کې چلول.
سرچینه: opennet.ru
