Node.js 22.0 නිකුත් කරන ලදී, JavaScript හි ජාල යෙදුම් ධාවනය සඳහා වේදිකාවක්. 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 එන්ජිම Chromium 12.4 හි භාවිතා කරන ලද 124 අනුවාදයට යාවත්කාලීන කර ඇත. V21 8 එන්ජිම භාවිතා කළ Node.js 11.8 ශාඛාව හා සසඳන විට වෙනස්කම් අතර, එය සටහන් කර ඇත:
- WebAssembly වෙත කුණු එකතු කරන්නෙකු (Kotlin, PHP, Java, ආදිය) භාවිතා කරන ක්රමලේඛන භාෂාවෙන් ලියා ඇති වැඩසටහන් ගෙනයාම සරල කරන WasmGC දිගුව සඳහා සහය දක්වයි. WasmGC නව ආකාරයේ ව්යුහයන් සහ රේඛීය නොවන මතක වෙන් කිරීම් භාවිතා කළ හැකි අරා එකතු කරයි.
- Array.fromAsync() ක්රමය සඳහා සහය, අරාව වැනි, නැවත කළ හැකි හෝ අසමමුහුර්ත කළ හැකි වස්තුවකින් පිටපත් කරන ලද අරා වස්තුවක නව අවස්ථාවක් අසමමුහුර්තව ලබා දෙයි.
- .map, .filter, .find, .take, .drop, .forEach සහ .reduce වැනි පුනරාවර්තක ක්රම සඳහා සහය දක්වයි.
- අගයන් එකතුවක් නිර්වචනය කරන සහ ඡේදනය, එකමුතුව, වෙනස සහ එකතු කිරීම වැනි පොදු කට්ටල මෙහෙයුම් ක්රියාත්මක කරන ක්රම ඉදිරිපත් කරන කට්ටල වස්තුවක් සඳහා සහාය.
- Maglev ප්රශස්තිකරණය JIT සම්පාදකය පෙරනිමියෙන් සක්රීය කර ඇති අතර, දැඩි ලෙස භාවිතා කරන JavaScript කේතය සඳහා ඉහළ ක්රියාකාරී යන්ත්ර කේතයක් ඉක්මනින් ජනනය කිරීම අරමුණු කර ගෙන ඇත. Maglev සක්රීය කිරීමෙන් දිගු කාලීන මෙහෙයුම් සිදු නොකරන කෙටි කාලීන CLI යෙදුම් සැලකිය යුතු ලෙස වේගවත් කළ හැක, උදාහරණයක් ලෙස, Jetstrea පරීක්ෂණය සම්පූර්ණ කිරීමට ගතවන කාලය 7.5% කින් සහ ස්පීඩෝමීටර පරීක්ෂණය 5% කින් අඩු වේ.
- HighWaterMark විකල්පයේ අගය 16 KB සිට 65 KB දක්වා වැඩි කිරීම මගින් ප්රවාහ සමඟ වැඩ කිරීම වේගවත් කර ඇත (පටිගත කිරීම බෆර කර ඇති සීමාව නිර්වචනය කරයි). මෙම වෙනස නිසා මතක පරිභෝජනය වැඩි වේ, එබැවින් සීමිත RAM මත ධාවනය කිරීමට නිර්මාණය කර ඇති යෙදුම් වලට setDefaultHighWaterMark() වෙත ඇමතුමක් හරහා පැරණි අගය ආපසු ලබා දීමට අවශ්ය විය හැක.
- AbortSignal instantation වඩාත් කාර්යක්ෂම කිරීම මගින් fetch() සහ test runner API වල කාර්ය සාධනය වැඩි දියුණු කිරීම. ගොනු පද්ධති සමඟ සමමුහුර්ත කාර්යයට අදාළ API වල කාර්ය සාධනය වැඩි දියුණු කර ඇත.
- සමමුහුර්ත මාදිලියේ JavaScript ESM මොඩියුල (ECMAScript මොඩියුල) පූරණය කිරීමට "අවශ්ය()" ඇමතුම භාවිතා කිරීමට පර්යේෂණාත්මක විශේෂාංගයක් සපයා ඇත. ESM මොඩියුල බ්රවුසර වල භාවිතා වන අතර Node.js සඳහා විශේෂිත වූ CommonJS මොඩියුල ප්රතිස්ථාපනය කරයි. "require()" හරහා පූරණය කිරීමට, ESM මොඩියුලය සමමුහුර්ත ආකාරයෙන් ක්රියාත්මක කළ යුතුය (ඉහළ මට්ටමේ රැඳී සිටීමකින් තොරව). "--පරීක්ෂණාත්මක-අවශ්ය-මොඩියුලය" ධජය හරහා සහාය සක්රීය කර ඇත.
- "--run" විධානය භාවිතයෙන් package.json ගොනුවේ අර්ථ දක්වා ඇති ස්ක්රිප්ට් ධාවනය කිරීමට පර්යේෂණාත්මක හැකියාව එක් කරන ලදී. "
- ආනයනය කරන ලද ගොනුව වෙනස් වූ විට ක්රියාවලිය නැවත ආරම්භ වන බව සහතික කරන ඔරලෝසු මාදිලියක් ක්රියාත්මක කිරීමත් සමඟ “node –watch” විධානය ස්ථාවර කාණ්ඩයට ගෙන ගොස් ඇත (උදාහරණයක් ලෙස, “node –watch index.js” ක්රියාත්මක කරන්නේ නම්, index.js වෙනස් වූ විට ක්රියාවලිය ස්වයංක්රීයව නැවත ආරම්භ වේ).
- WebSocket API හි ස්වදේශීය ක්රියාත්මක කිරීම ස්ථායී කර ඇත, අමතර පරායත්තතා ස්ථාපනය නොකර WebSocket සේවාදායක මාදිලියේ භාවිතා කිරීමට ඉඩ සලසයි.
- Navigator API සඳහා අර්ධ සහය එක් කරන ලදී.
- Webstreams API විසින් deflate-raw සම්පීඩන ආකෘතිය සඳහා සහය එක් කර ඇත.
- ගොනු මාර්ගවල රටා ගැලපීම සඳහා node:fsmodule වෙත glob සහ 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, 2.7.7 and.6.6.0di.XNUMX. ada .
Node.js වේදිකාව වෙබ් යෙදුම්වල සේවාදායක-පාර්ශ්ව සහාය සඳහා සහ සම්මත සේවාදායක-සහ සේවාදායක-පාර්ශ්ව ජාල වැඩසටහන් නිර්මාණය කිරීම සඳහා භාවිතා කළ හැකිය. Node.js යෙදුම්වල ක්රියාකාරීත්වය පුළුල් කිරීම සඳහා, ක්රියාත්මක කරන ඒවා ඇතුළුව මොඩියුල විශාල එකතුවක් සකස් කර ඇත. සේවාදායකයන් සහ HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, විවිධ වෙබ් රාමු සමඟ ඒකාබද්ධ කිරීම සඳහා මොඩියුල, WebSocket සහ Ajax හසුරුවන්නන්, DBMS (MySQL, PostgreSQL, SQLite, MongoDB) වෙත සම්බන්ධක, සැකිලි එන්ජින්, CSS එන්ජින්, ගුප්ත ලේඛන ඇල්ගොරිතම සහ අවසර පද්ධති (OAuth) ක්රියාත්මක කිරීම, XML විග්රහක වල සේවාදායකයින්.
සමාන්තර ඉල්ලීම් විශාල සංඛ්යාවක් හැසිරවීමට, Node.js අවහිර නොවන සිදුවීම් සැකසීම සහ ඇමතුම් පරිහරණය කරන්නන් නිර්වචනය කිරීම මත පදනම් වූ අසමමුහුර්ත කේත ක්රියාත්මක කිරීමේ ආකෘතියක් භාවිතා කරයි. මල්ටිප්ලෙක්සින් සම්බන්ධතා සඳහා සහය දක්වන ක්රම අතර epoll, kqueue, /dev/poll, සහ select ඇතුළත් වේ. සම්බන්ධතා මල්ටිප්ලෙක්සිං සඳහා, Libuv පුස්තකාලය භාවිතා වේ, එය Unix පද්ධති මත libev වෙත සහ Windows මත IOCP වෙත ඇඩෝනයකි. නූල් සංචිතයක් සෑදීමට libeio පුස්තකාලය භාවිතා කරන අතර, අවහිර නොවන ආකාරයෙන් DNS විමසුම් සිදු කිරීමට c-ares ඒකාබද්ධ වේ. අවහිර වීමට හේතු වන සියලුම පද්ධති ඇමතුම් නූල් සංචිතය තුළ ක්රියාත්මක වන අතර පසුව, සංඥා හසුරුවන්නා මෙන්, ඔවුන්ගේ කාර්යයේ ප්රතිඵලය නම් නොකළ පයිප්පයක් හරහා ආපසු ලබා දෙයි.
ජාවාස්ක්රිප්ට් කේතය ක්රියාත්මක කිරීම ගූගල් විසින් සංවර්ධනය කරන ලද V8 එන්ජිම භාවිතයෙන් සහතික කෙරේ (මීට අමතරව, මයික්රොසොෆ්ට් විසින් Chakra-Core එන්ජිම සමඟ Node.js අනුවාදයක් සංවර්ධනය කරයි). එහි හරය තුළ, Node.js Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks සහ Tcl හි සිදුවීම් ක්රියාත්මක කිරීමට සමාන වේ, නමුත් Node.js හි සිදුවීම් ලූපය සංවර්ධකයාගෙන් සඟවා ඇති අතර වෙබ් යෙදුමක සිදුවීම් සැකසීමට සමාන වේ. බ්රවුසරයේ ධාවනය වේ.
මූලාශ්රය: opennet.ru
