Server-side JavaScript වේදිකාව Node.js 18.0 ඇත

Node.js 18.0 නිකුත් කරන ලදී, JavaScript හි ජාල යෙදුම් ධාවනය කිරීම සඳහා වේදිකාවකි. Node.js 18.0 දිගුකාලීන ආධාරක ශාඛාවක් ලෙස වර්ගීකරණය කර ඇත, නමුත් මෙම තත්ත්වය ස්ථාවර කිරීමෙන් පසුව ඔක්තෝබර් මාසයේදී පවරනු ලැබේ. Node.js 18.x 2025 අප්‍රේල් දක්වා සහය දක්වයි. Node.js 16.x හි පෙර LTS ශාඛාව නඩත්තු කිරීම 2024 අප්‍රේල් දක්වාත්, අවසාන LTS ශාඛාව 14.x ට පෙර වසර 2023 අප්‍රේල් දක්වාත් පවතිනු ඇත. 12.x LTS ශාඛාව අප්‍රේල් 30 වනදා නවත්වනු ඇති අතර Node.js 17.x වේදිකා ශාඛාව ජූනි 1 වනදා සිට නවත්වනු ඇත.

ප්රධාන වැඩිදියුණු කිරීම්:

  • V8 එන්ජිම Chromium 10.1 හි භාවිතා වන 101 අනුවාදයට යාවත්කාලීන කර ඇත. Node.js හි 17.9.0 නිකුතුව හා සසඳන විට, අරාවක අවසානයට සාපේක්ෂව මූලද්‍රව්‍ය සෙවීම සඳහා findLast සහ findLastIndex ක්‍රම වැනි විශේෂාංග සඳහා දැන් සහය ඇත. , සහ Intl.supportedValuesOf ශ්‍රිතය. වැඩිදියුණු කළ Intl.Locale API. පන්ති ක්ෂේත්‍ර සහ පුද්ගලික ක්‍රම ආරම්භ කිරීම වේගවත් කර ඇත.
  • පර්යේෂණාත්මක ලබා ගැනීම() API පෙරනිමියෙන් සබල කර ඇත, ජාලය හරහා සම්පත් පැටවීම සඳහා නිර්මාණය කර ඇත. ක්‍රියාත්මක කිරීම HTTP/1.1 undici සේවාලාභියාගේ කේතය මත පදනම් වන අතර බ්‍රවුසරවල සපයා ඇති සමාන API වෙත හැකි තරම් සමීප වේ. HTTP ඉල්ලීම් සහ ප්‍රතිචාර ශීර්ෂ හැසිරවීම සඳහා FormData, Headers, Request and Response interfaces සඳහා සහය මෙයට ඇතුළත් වේ. const res = ලබා ගැනීමට බලා සිටීම ('https://nodejs.org/api/documentation.json'); නම් (res.ok) {const data = res.json (); console.log(දත්ත); }
  • ජාලය හරහා ලැබෙන දත්ත ප්‍රවාහ වෙත ප්‍රවේශය සපයමින් Web Streams API හි පර්යේෂණාත්මක ක්‍රියාත්මක කිරීමක් එක් කර ඇත. API මඟින් සම්පූර්ණ ගොනුව බාගත වන තෙක් බලා නොසිට, ජාලය හරහා තොරතුරු පැමිණෙන විට දත්ත සමඟ වැඩ කිරීමට ඔබේම හසුරුවන්නක් එක් කිරීමට හැකි වේ. Node.js හි දැන් ලබා ගත හැකි වස්තූන් අතර ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream, සහ DecompressionStream ඇතුළත් වේ.
  • Blob API ස්ථායී වෙත ගෙන ගොස් ඇති අතර, විවිධ සේවක නූල්වල ආරක්ෂිත භාවිතය සඳහා වෙනස් කළ නොහැකි අමු දත්ත ගොනු කිරීමට ඔබට ඉඩ සලසයි.
  • BroadcastChannel API ස්ථාවර කර ඇති අතර, "එක් යවන්නා - බොහෝ ලබන්නන්" ආකෘතියෙන් අසමමුහුර්ත ආකාරයෙන් පණිවිඩ හුවමාරු කිරීම සංවිධානය කිරීමට ඔබට ඉඩ සලසයි.
  • පර්යේෂණාත්මක මොඩියුල නෝඩය එකතු කරන ලදී: TAP (Test Anything Protocol) ආකෘතියෙන් ප්‍රතිඵල ලබා දෙන JavaScript හි පරීක්ෂණ නිර්මාණය සහ ධාවනය සඳහා වන පරීක්ෂණය.
  • Red Hat Enterprise Linux (RHEL) 8 සහ Debian 2.28 සහ Ubuntu 10 ඇතුළුව Glibc 20.04+ මත පදනම් වූ අනෙකුත් බෙදාහැරීම් සඳහා මෙන්ම macOS 10.15+ සඳහා සූදානම් කළ එකලස්කිරීම් ලබා දී ඇත. V8 එන්ජිම ගොඩනැගීමේ ගැටළු හේතුවෙන්, වින්ඩෝස් සඳහා 32-bit ගොඩනැගීම් නිර්මාණය කිරීම තාවකාලිකව නතර කර ඇත.
  • ආරම්භයේදී ආරම්භ කරන ලද පරිශීලක-තෝරාගත් සංරචක සමඟ Node.js ක්‍රියාත්මක කළ හැකි එකක් තැනීමට පර්යේෂණාත්මක විකල්පයක් සපයා ඇත. ආරම්භක සංරචක නිර්වචනය කිරීම සඳහා, “--node-snapshot-main” විකල්පය වින්‍යාස ගොඩනැගීමේ ස්ක්‍රිප්ට් වෙත එක් කර ඇත, උදාහරණයක් ලෙස, “./configure —node-snapshot-main=marked.js; නම නෝඩය"

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, සහ තේරීමයි. සම්බන්ධතා මල්ටිප්ලෙක්සින් සඳහා, Libuv පුස්තකාලය භාවිතා කරනු ලැබේ, එය Unix පද්ධති මත libev සහ Windows මත IOCP සඳහා ඇඩෝනයක් වේ. නූල් සංචිතයක් සෑදීමට libeio පුස්තකාලය භාවිතා කරන අතර, අවහිර නොවන ආකාරයෙන් DNS විමසුම් සිදු කිරීමට c-ares ඒකාබද්ධ වේ. අවහිර වීමට හේතු වන සියලුම පද්ධති ඇමතුම් නූල් තටාකය තුළ ක්‍රියාත්මක වන අතර පසුව, සංඥා හසුරුවන්නා මෙන්, ඔවුන්ගේ කාර්යයේ ප්‍රති result ලය නම් නොකළ පයිප්පයක් (නල) හරහා ආපසු මාරු කරනු ලැබේ. ජාවාස්ක්‍රිප්ට් කේතය ක්‍රියාත්මක කිරීම ගූගල් විසින් සංවර්ධනය කරන ලද V8 එන්ජිම භාවිතයෙන් සපයනු ලැබේ (මීට අමතරව, Microsoft විසින් Chakra-Core එන්ජිම සමඟ Node.js අනුවාදයක් සංවර්ධනය කරයි).

එහි හරය තුළ, Node.js Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks සහ Tcl සිදුවීම් ක්‍රියාවට නැංවීමට සමාන වේ, නමුත් Node.js හි සිදුවීම් ලූපය සංවර්ධකයාගෙන් සඟවා ඇති අතර ක්‍රියාත්මක වන වෙබ් යෙදුමක සිදුවීම් හැසිරවීමට සමාන වේ. බ්රවුසරයේ. node.js සඳහා යෙදුම් ලිවීමේදී, ඔබ "var result = db.query("select..");" කිරීම වෙනුවට, සිදුවීම් මත පදනම් වූ වැඩසටහන්කරණයේ විශේෂතා සලකා බැලිය යුතුය. වැඩ නිම කිරීම සහ පසුව ප්රතිඵල සැකසීම සඳහා බලා සිටීමත් සමග, Node.js අසමමුහුර්ත ක්රියාත්මක කිරීමේ මූලධර්මය භාවිතා කරයි, i.e. කේතය "db.query("තෝරන්න..", ශ්‍රිතය (ප්‍රතිඵලය) {ප්‍රතිඵල සැකසීම});" බවට පරිවර්තනය කර ඇත, එහිදී පාලනය ක්‍ෂණිකව වැඩිදුර කේතය වෙත ගමන් කරනු ඇති අතර, දත්ත ලැබෙන විට විමසුම් ප්‍රතිඵලය සැකසෙනු ඇත.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න