{"id":107956,"date":"2023-04-19T12:48:21","date_gmt":"2023-04-19T10:48:21","guid":{"rendered":"https:\/\/prohoster.info\/?p=107956"},"modified":"2023-04-19T14:43:38","modified_gmt":"2023-04-19T12:43:38","slug":"dostupna-servernaya-javascript-platforma-node-js-20-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/news\/dostupna-servernaya-javascript-platforma-node-js-20-0","title":{"rendered":"Dostupn\u00e1 serverov\u00e1 JavaScript platforma Node.js 20.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Bol sa vydan\u00fd Node.js 20.0, platforma na sp\u00fa\u0161\u0165anie sie\u0165ov\u00fdch aplik\u00e1ci\u00ed v programovacom jazyku JavaScript. Node.js 20.0 sa zarad\u00ed medzi verzie s dlhodobou podporou, av\u0161ak tento status bude pridelen\u00fd a\u017e v okt\u00f3bri po normaliz\u00e1cii. Podpora Node.js 20.x bude trva\u0165 do 30. apr\u00edla 2026. Podpora predch\u00e1dzaj\u00facej LTS verzie Node.js 18.x potrv\u00e1 do apr\u00edla 2025 a podpory verzia 16.x do septembra 2023. Podpora LTS verzie 14.x bude ukon\u010den\u00e1 30. apr\u00edla a predo\u0161lej verzie Node.js 19.x 1. j\u00fana.     <\/p>\n<p>Hlavn\u00e9 vylep\u0161enia:  <\/p>\n<ul>\n<li class=\"l\"> Engin V8 bol aktualizovan\u00fd na verziu 11.3, pou\u017e\u00edvan\u00fa v Chromiu 113. Medzi zmenami v porovnan\u00ed s verziou Node.js 19, ktor\u00e1 pou\u017e\u00edvala engin Chromium 107, s\u00fa uveden\u00e9 funkcie String.prototype.isWellFormed a toWellFormed, met\u00f3dy Array.prototype a TypedArray.prototype na pr\u00e1cu s k\u00f3piou pri zmene objektov Array a TypedArray, vlajka \u201ev\u201c v RegExp, podpora menenia ve\u013ekosti ArrayBuffer a zvy\u0161ovania ve\u013ekosti SharedArrayBuffer, ako aj zlep\u0161enia v tail-call rekursii v WebAssembly.\n<li class=\"l\"> \u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c Permission Model, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.  \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Permission Model \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435 \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u0444\u043b\u0430\u0433\u0430  &#171;&#8212;experimental-permission&#187;. \u0412 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u044b \u043e\u043f\u0446\u0438\u0438 \u0434\u043b\u044f \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c (&#8212;allow-fs-write) \u0438 \u0447\u0442\u0435\u043d\u0438\u0435 (&#8212;allow-fs-read) \u043a \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u0447\u0430\u0441\u0442\u044f\u043c \u0424\u0421,  \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c (&#8212;allow-child-process), \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f\u043c (&#8212;no-addons) \u0438  \u043f\u043e\u0442\u043e\u043a\u0430\u043c (&#8212;allow-worker).  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \/tmp \u0438 \u0447\u0442\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \/home\/index.js \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c:        node &#8212;experimental-permission &#8212;allow-fs-write=\/tmp\/ &#8212;allow-fs-read=\/home\/index.js index.js\n<p>Na overenie pr\u00edstupu sa odpor\u00fa\u010da pou\u017ei\u0165 met\u00f3du process.permission.has(), napr\u00edklad \u201eprocess.permission.has(\u2018fs.write\u2019,\u2018\/tmp\/test\u2019).    <\/p>\n<li class=\"l\"> Spracovatelia extern\u00fdch modulov ECMAScript (ESM), ktor\u00e9 s\u00fa na\u010d\u00edtan\u00e9 prostredn\u00edctvom vo\u013eby \u201e--experimental-loader\u201c, sa teraz vykon\u00e1vaj\u00fa v samostatnom vl\u00e1kne oddelenom od hlavn\u00e9ho vl\u00e1kna, \u010do vylu\u010duje prekr\u00fdvanie k\u00f3du aplik\u00e1ci\u00ed a na\u010d\u00edtan\u00fdch ESM modulov. Podobne ako v prehliada\u010doch sa met\u00f3da import.meta.resolve() pri volan\u00ed z aplik\u00e1cie teraz vykon\u00e1va v synchronnom re\u017eime. V jednej z nasleduj\u00facich verzi\u00ed Node.js pl\u00e1nuj\u00fa presun\u00fa\u0165 podporu na\u010d\u00edtania ESM medzi stabiln\u00e9 funkcie.\n<li class=\"l\"> Do stabiln\u00fdch funkci\u00ed bol zaraden\u00fd modul node:test (test_runner), ur\u010den\u00fd na vytv\u00e1ranie a sp\u00fa\u0161\u0165anie testov v jazyku JavaScript, ktor\u00e9 vracaj\u00fa v\u00fdsledky vo form\u00e1te TAP (Test Anything Protocol).\n<li class=\"l\"> Bola vytvoren\u00e1 samostatn\u00e1 t\u00edm v\u00fdvoj\u00e1rov zodpovedn\u00fd za optimaliz\u00e1ciu v\u00fdkonu, ktor\u00fd pri pr\u00edprave novej verzie vykonal pr\u00e1cu na zr\u00fdchlen\u00ed r\u00f4znych runtime komponentov, vr\u00e1tane parsovania URL, fetch() a EventTarget. Napr\u00edklad n\u00e1klady na inicializ\u00e1ciu EventTarget sa zn\u00ed\u017eili na polovicu, v\u00fdrazne sa zv\u00fd\u0161ila v\u00fdkonnos\u0165 met\u00f3dy URL.canParse() a zlep\u0161ila efektivita pr\u00e1ce \u010dasova\u010dov. Navy\u0161e, do zostavy bol pridan\u00fd vysoko v\u00fdkonn\u00fd parser URL - Ada 2.0, nap\u00edsan\u00fd v jazyku C++.\n<li class=\"l\"> Pokra\u010dovalo sa vo v\u00fdvoji experiment\u00e1lnej funkcie pre dod\u00e1vanie aplik\u00e1ci\u00ed vo forme jedn\u00e9ho spustite\u013en\u00e9ho s\u00faboru (SEA, Single Executable Applications). Vytvorenie spustite\u013en\u00e9ho s\u00faboru teraz vy\u017eaduje substit\u00faciu blobu, ktor\u00fd sa vytv\u00e1ra na z\u00e1klade konfigura\u010dn\u00e9ho s\u00faboru vo form\u00e1te JSON (namiesto substit\u00facie JavaScriptov\u00e9ho s\u00faboru).\n<li class=\"l\"> Zlep\u0161en\u00e1 kompatibilita API Web Crypto s implement\u00e1ciami z in\u00fdch projektov.\n<li class=\"l\"> Pridala sa ofici\u00e1lna podpora Windows na syst\u00e9moch ARM64.\n<li class=\"l\"> Pokra\u010dovalo sa v implement\u00e1cii podpory roz\u0161\u00edren\u00ed WASI (WebAssembly System Interface) na vytv\u00e1ranie samostatn\u00fdch WebAssembly aplik\u00e1ci\u00ed. Odstr\u00e1nila sa potreba uv\u00e1dza\u0165 \u0161peci\u00e1lnu pr\u00edkazov\u00fa vlajku na aktiv\u00e1ciu podpory WASI.            <\/ul>\n<p>Platforma Node.js m\u00f4\u017ee by\u0165 pou\u017eit\u00e1 na serverov\u00fa podporu webov\u00fdch aplik\u00e1ci\u00ed, ako aj na vytv\u00e1ranie klasick\u00fdch klientsk\u00fdch a serverov\u00fdch sie\u0165ov\u00fdch programov. Pre roz\u0161\u00edrenie funk\u010dnosti aplik\u00e1ci\u00ed pre Node.js bola pripraven\u00e1 ve\u013ek\u00e1 kolekcia modulov, v ktorej n\u00e1jdete moduly s realiz\u00e1ciou.  <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sk\/server\/\"   title=\"serverov\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1704\">serverov<\/a> a klientov HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, moduly na integr\u00e1ciu s r\u00f4znymi webov\u00fdmi r\u00e1mcami, spracovate\u013eov WebSocket a Ajax, konektorov k DBMS (MySQL, PostgreSQL, SQLite, MongoDB), \u0161abl\u00f3nova\u010dov, CSS enginov, implement\u00e1ci\u00ed kryptografick\u00fdch algoritmov a syst\u00e9mov autoriz\u00e1cie (OAuth), XML parserov.    <\/p>\n<p> Na zabezpe\u010denie spracovania ve\u013ek\u00e9ho po\u010dtu paraleln\u00fdch dopytov vyu\u017e\u00edva Node.js asynchr\u00f3nny model sp\u00fa\u0161\u0165ania k\u00f3du, zalo\u017een\u00fd na spracovan\u00ed udalost\u00ed v neblokuj\u00facom re\u017eime a ur\u010dovan\u00ed callback spracovate\u013eov. Ako met\u00f3dy multiplexovania pripojen\u00ed podporuj\u00fa tak\u00e9 met\u00f3dy, ako s\u00fa epoll, kqueue, \/dev\/poll a select. Na multiplexovanie pripojen\u00ed sa pou\u017e\u00edva kni\u017enica libuv, ktor\u00e1 je nadstavbou nad libev na syst\u00e9moch Unix a nad IOCP na Windows. Na vytvorenie poolu vl\u00e1kien (thread pool) je zapojen\u00e1 kni\u017enica libeio, na vykon\u00e1vanie DNS dopytov v neblokuj\u00facom re\u017eime je integrovan\u00fd c-ares. V\u0161etky syst\u00e9mov\u00e9 volania, ktor\u00e9 sp\u00f4sobuj\u00fa blokovanie, sa vykon\u00e1vaj\u00fa vn\u00fatri poolu vl\u00e1kien a potom, rovnako ako spracovatelia sign\u00e1lov, pren\u00e1\u0161aj\u00fa v\u00fdsledok svojej pr\u00e1ce sp\u00e4\u0165 cez anonymn\u00fd kan\u00e1l (pipe). Vykon\u00e1vanie JavaScript k\u00f3du je zabezpe\u010den\u00e9 zapojen\u00edm vyvinut\u00e9ho engine V8 spolo\u010dnos\u0165ou Google (\u010falej Microsoft vyv\u00edja variant Node.js s engine Chakra-Core).        <\/p>\n<p>Node.js je v podstate podobn\u00fd r\u00e1mcom Perl AnyEvent, Ruby Event Machine, Python Twisted a implement\u00e1cii udalost\u00ed v Tcl, ale cyklus spracovania udalost\u00ed (event loop) v Node.js je skryt\u00fd pred v\u00fdvoj\u00e1rom a pripom\u00edna spracovanie udalost\u00ed v webovej aplik\u00e1cii be\u017eiacej v prehliada\u010di. Pri p\u00edsan\u00ed aplik\u00e1ci\u00ed pre Node.js je potrebn\u00e9 bra\u0165 do \u00favahy \u0161pecifik\u00e1 programovania orientovan\u00e9ho na udalosti. Napr\u00edklad, namiesto vykonania &#171;var result = db.query(&#171;select..&#187;);&#187; s \u010dakan\u00edm na dokon\u010denie a n\u00e1sledn\u00fdm spracovan\u00edm v\u00fdsledkov, Node.js pou\u017e\u00edva princ\u00edp asynchr\u00f3nneho vykon\u00e1vania, t.j. k\u00f3d sa transformuje na &#171;db.query(&#171;select..&#187;, function (result) {spracovanie v\u00fdsledku});&#187;, pri ktorom riadenie okam\u017eite prejde na \u010fal\u0161\u00ed k\u00f3d, a v\u00fdsledok dopytu bude spracovan\u00fd, ako bud\u00fa d\u00e1ta prich\u00e1dza\u0165.<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=58998\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 20.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript. Node.js 20.0 \u043e\u0442\u043d\u0435\u0441\u0451\u043d \u043a \u0432\u0435\u0442\u043a\u0430\u043c \u0441 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0441\u0440\u043e\u043a\u043e\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438, \u043d\u043e \u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043e\u043a\u0442\u044f\u0431\u0440\u0435, \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Node.js 20.x \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0434\u043e 30 \u0430\u043f\u0440\u0435\u043b\u044f 2026 \u0433\u043e\u0434\u0430. \u0421\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 LTS-\u0432\u0435\u0442\u043a\u0438 Node.js 18.x \u043f\u0440\u043e\u0434\u043b\u0438\u0442\u0441\u044f \u0434\u043e \u0430\u043f\u0440\u0435\u043b\u044f 2025 \u0433\u043e\u0434\u0430, \u0430 \u043f\u043e\u0437\u0430\u043f\u0440\u043e\u0448\u043b\u043e\u0439 LTS-\u0432\u0435\u0442\u043a\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-107956","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 20.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sk\/blog\/news\/dostupna-servernaya-javascript-platforma-node-js-20-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Node.js 20.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 20.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/news\/dostupna-servernaya-javascript-platforma-node-js-20-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2023-04-19T10:48:21+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-04-19T12:43:38+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Dostupn\u00e1 serverov\u00e1 JavaScript platforma Node.js 20.0 | ProHoster","description":"Uskuto\u010dnil sa release Node.js 20.0, platformy na sp\u00fa\u0161\u0165anie sie\u0165ov\u00fdch aplik\u00e1ci\u00ed v jazyku JavaScript.","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/news\/dostupna-servernaya-javascript-platforma-node-js-20-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Node.js 20.0 | ProHoster","og:description":"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 20.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript.","og:url":"https:\/\/prohoster.info\/sk\/blog\/news\/dostupna-servernaya-javascript-platforma-node-js-20-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2023-04-19T10:48:21+00:00","article:modified_time":"2023-04-19T12:43:38+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"107956","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-02-09 16:51:32","updated":"2026-02-09 16:51:32","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/107956","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=107956"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/107956\/revisions"}],"predecessor-version":[{"id":158948,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/107956\/revisions\/158948"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=107956"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=107956"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=107956"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}