د سرور اړخ جاواسکریپټ پلیټ فارم Node.js 20.0 شتون لري

Node.js 20.0 خپور شو، په جاواسکریپټ کې د شبکې غوښتنلیکونو چلولو لپاره یو پلیټ فارم. Node.js 20.0 د اوږدې مودې مالتړ څانګې په توګه طبقه بندي شوی، مګر دا حالت به یوازې د اکتوبر په میاشت کې د ثبات وروسته ټاکل کیږي. Node.js 20.x به د اپریل تر 30، 2026 پورې ملاتړ شي. د Node.js 18.x د پخوانۍ LTS څانګې ساتنه به د اپریل 2025 پورې دوام وکړي، او د وروستي LTS څانګې 16.x څخه مخکې د سپتمبر تر 2023 پورې. د 14.x LTS څانګه به د اپریل په 30 مه بنده شي، او د Node.js 19.x سټیجینګ څانګه به د جون په لومړۍ نیټه بنده شي.

اصلي پرمختګونه:

  • د V8 انجن 11.3 نسخه ته تازه شوی، چې په کرومیم 113 کې کارول کیږي. د Node.js 19 څانګې په پرتله بدلونونه چې د کرومیم 107 انجن یې کارولی، د String.prototype.isWellFormed او ToWellFormed افعال، Array.prototype او TypedArray شامل دي. د کاپي سره د کار کولو لپاره د پروټوټایپ میتودونه کله چې د Array او TypedArray شیانو بدلول ، په RegExp کې د "v" بیرغ ، د ArrayBuffer د اندازې کولو او د SharedArrayBuffer اندازې زیاتولو لپاره ملاتړ ، په WebAssembly کې tail recursion (tail-call).
  • د تجربوي اجازې ماډل میکانیزم وړاندیز شوی چې د اجرا کولو پرمهال ځینې سرچینو ته د لاسرسي محدودولو ته اجازه ورکوي. د اجازې ماډل ملاتړ د چلولو پر مهال د "--تجربي-اجازې" بیرغ مشخص کولو سره فعال شوی. لومړني تطبیق د فایل سیسټم ځینې برخو ته د لیکلو (--اجازه-fs-لیکلو) او لوستلو (--اجازه-fs-لوستلو) لاسرسي محدودولو اختیارونه وړاندې کوي، د ماشوم پروسې (--اجازه-ماشوم-پروسس)، او اضافه کول (--no-addons) ) او تارونه (--اجازه ورکوونکی). د مثال په توګه، د /tmp ډایرکټر ته د لیکلو او د /home/index.js فایل لوستلو اجازه ورکولو لپاره، تاسو کولی شئ مشخص کړئ: نوډ —تجربې اجازه —allow-fs-write=/tmp/ —allow-fs-read=/home /index.js index .js

    د لاسرسي د چک کولو لپاره، دا وړاندیز کیږي چې د process.permission.has() میتود وکاروئ، د بیلګې په توګه، "process.permission.has('fs.write',"/tmp/test").

  • د ECMAScript خارجي ماډل (ESM) سمبالونکي د "--experimental-loader" اختیار له لارې بار شوي اوس په جلا تار کې پرمخ ځي، د اصلي تار څخه جلا شوي، د غوښتنلیک کوډ تقاطع له منځه وړي او د ESM ماډلونه بار شوي. د براوزرونو په څیر، import.meta.resolve() میتود اوس په همغږي توګه اجرا کیږي کله چې د غوښتنلیک څخه غوښتنه کیږي. د Node.js په راتلونکو څانګو کې، د ESM بارولو ملاتړ پالن شوی چې د باثباته ځانګړتیاوو کټګورۍ ته لیږدول شي.
  • د ماډل نوډ: test (test_runner)، په جاواسکریپټ کې د ازموینو رامینځته کولو او چلولو لپاره ډیزاین شوی چې پایلې یې د TAP (Test Anything Protocol) بڼه کې بیرته راګرځي، مستحکم شوی.
  • د فعالیت اصلاح کولو لپاره یو جلا پرمختیایی ټیم رامینځته شوی ، کوم چې کله چې نوې څانګه چمتو کوي ، د مختلف چلولو اجزاو ګړندي کولو لپاره کار کاوه ، پشمول د URL پارسینګ ، fetch() او EventTarget. د مثال په توګه، د EventTarget پیل کولو سر نیمایي شوی، د URL.canParse() میتود فعالیت د پام وړ ښه شوی، او د ټایمر موثریت ښه شوی. پدې کې د لوړ فعالیت URL پارسر خوشې کول هم شامل دي، اډا 2.0، په C++ کې لیکل شوی.
  • د یو واحد اجرا وړ فایل (SEA، واحد اجرا وړ غوښتنلیکونو) په بڼه د غوښتنلیکونو وړاندې کولو لپاره د تجربوي وړتیا پراختیا دوام لري. د اجرا وړ فایل رامینځته کول اوس د JSON فارمیټ کې د ترتیب فایل څخه رامینځته شوي بلب ځای په ځای کولو ته اړتیا لري (د جاواسکریپټ فایل ځای په ځای کولو پرځای).
  • د نورو پروژو پلي کولو سره د ویب کریپټو API ښه مطابقت.
  • په ARM64 سیسټمونو کې د وینډوز لپاره رسمي ملاتړ اضافه شوی.
  • د WASI (WebAssembly System Interface) تمدیدونو لپاره د ملاتړ پلي کول د یوازینۍ ویب اسمبلي غوښتنلیکونو رامینځته کولو لپاره دوام لري. د WASI ملاتړ وړ کولو لپاره د ځانګړي کمانډ لاین بیرغ مشخص کولو اړتیا لرې کړه.

د Node.js پلیټ فارم دواړه د ویب غوښتنلیکونو د سرور اړخ ملاتړ لپاره او د عادي پیرودونکي او سرور شبکې برنامو رامینځته کولو لپاره کارول کیدی شي. د Node.js لپاره د غوښتنلیکونو فعالیت پراخولو لپاره، د ماډلونو لوی ټولګه چمتو شوې، په کوم کې چې تاسو کولی شئ د HTTP، SMTP، XMPP، DNS، FTP، IMAP، POP3 سرورونو او مراجعینو پلي کولو سره ماډلونه ومومئ، د ادغام لپاره ماډلونه د مختلف ویب چوکاټونو سره، WebSocket او Ajax هینډلرونه، د DBMS (MySQL، PostgreSQL، SQLite، MongoDB) سره نښلونکي، د ټیمپلیټ انجنونه، CSS انجنونه، د کریپټوګرافیک الګوریتمونو پلي کول او د اختیار سیسټمونه (OAuth)، XML پارسرونه.

د لوی شمیر موازي غوښتنو اداره کولو لپاره ، Node.js د غیر بلاک کولو پیښې پروسس کولو او د کال بیک هینډلرونو تعریف کولو پراساس د غیر متناسب کوډ اجرا کولو ماډل کاروي. د ملټي پلیکسینګ اتصال لپاره ملاتړ شوي میتودونه شامل دي ایپل، کیو، /dev/poll، او انتخاب. د اتصال ملټي پلیکسینګ لپاره، د libuv کتابتون کارول کیږي، کوم چې په یونیکس سیسټمونو کې libev او په وینډوز کې IOCP ته اضافه ده. د لیبیو کتابتون د تار حوض رامینځته کولو لپاره کارول کیږي ، او c-ares په غیر بلاک کولو حالت کې د DNS پوښتنو ترسره کولو لپاره مدغم شوی. ټول سیسټم زنګونه چې د بلاک کولو لامل کیږي د تار په حوض کې اجرا کیږي او بیا د سیګنال هینډلرانو په څیر ، د دوی د کار پایله بیرته د نامعلوم پایپ له لارې تیریږي. د جاواسکریپټ کوډ اجرا کول د ګوګل لخوا رامینځته شوي د V8 انجن کارولو له لارې تضمین شوي (سربیره پردې ، مایکروسافټ د چاکرا کور انجن سره د Node.js نسخه رامینځته کوي).

په اصلي برخه کې، Node.js د Perl AnyEvent، Ruby Event Machine، Python Twisted چوکاټونو او په Tcl کې د پیښو پلي کولو ته ورته دی، مګر په Node.js کې د پیښې لوپ د پراختیا کونکي څخه پټ دی او په ویب غوښتنلیک کې د پیښې پروسس کولو سره ورته دی. په براوزر کې چلول. کله چې د node.js لپاره غوښتنلیکونه ولیکئ، نو اړینه ده چې د پیښو لخوا پرمخ وړل شوي پروګرامونو ځانګړتیاوې په پام کې ونیسئ، د بیلګې په توګه، د "var result = db.query" ("select..") کولو پرځای. د کار بشپړیدو او د پایلو وروسته پروسس کولو ته انتظار کولو سره ، Node.js د غیر متناسب اجرا کولو اصول کاروي ، د بیلګې په توګه. کوډ په "db.query("select.." کې بدل شوی، فنکشن (نتیجه) {نتیجې پروسس کول}؛"، په کوم کې چې کنټرول به سمدلاسه نور کوډ ته انتقال شي، او د پوښتنې پایله به پروسس شي کله چې ډاټا راشي.

سرچینه: opennet.ru

Add a comment