{"id":39242,"date":"2019-10-31T22:28:38","date_gmt":"2019-10-31T19:28:38","guid":{"rendered":"https:\/\/prohoster.info\/blog\/vypusk-servernoj-javascript-platformy-node-js-13-0\/"},"modified":"2019-10-31T22:28:38","modified_gmt":"2019-10-31T19:28:38","slug":"vypusk-servernoj-javascript-platformy-node-js-13-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-13-0","title":{"rendered":"Node.js 13.0 serverip\u00f5hise JavaScripti platvormi v\u00e4ljaandmine","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/nodejs.org\/en\/blog\/release\/v13.0.0\/\">Saadaval<\/a><\/noindex> vabastus <noindex><a rel=\"nofollow\" href=\"https:\/\/nodejs.org\">Node.js 13.0<\/a><\/noindex>, v\u00f5rgurakenduste k\u00e4itamiseks m\u00f5eldud JavaScripti platvorm. Samal ajal stabiliseeriti eelmine Node.js 12.x versioon, mis on viidud pikaajalise toega v\u00e4ljaannete kategooriasse, mille uuendusi antakse v\u00e4lja 4 aastat. Eelmise LTS versiooni Node.js 10.0 tugi kestab aprillini 2021 ja eelneva LTS versiooni 8.0 tugi kestab jaanuarini 2020.<\/p>\n<p>Peamised <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@nodejs\/node-js-12-to-lts-and-node-js-13-is-here-e28d6a4a2bd\">parandused<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> V8 mootor on uuendatud versioonile <noindex><a rel=\"nofollow\" href=\"https:\/\/v8.dev\/\">7.8<\/a><\/noindex>, kus on kasutusele v\u00f5etud uued j\u00f5udluse optimeerimise meetodid, paranenud objektide destructuring, v\u00e4henenud m\u00e4lu tarbimine ja l\u00fchendatud WebAssembly t\u00e4itmise ettevalmistamise aega;\n<li class=\"l\"> Vaikimisi on t\u00e4ielik rahvusvahelise ja Unicode'i toetus koos raamatukogudega <noindex><a rel=\"nofollow\" href=\"http:\/\/site.icu-project.org\/\">ICU<\/a><\/noindex> (International Components for Unicode), mis v\u00f5imaldab arendajatel kirjutada koodi, <noindex><a rel=\"nofollow\" href=\"https:\/\/nodejs.org\/api\/intl.html#intl_providing_icu_data_at_runtime\">mis toetab<\/a><\/noindex> eri keelte ja kohalike seadete kasutamist. Moodul full-icu on n\u00fc\u00fcd vaikimisi installitud;\n<li class=\"l\"> Stabiliseeritud API <noindex><a rel=\"nofollow\" href=\"https:\/\/nodejs.org\/api\/worker_threads.html\">T\u00f6\u00f6tajate l\u00f5imud<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@Trott\/using-worker-threads-in-node-js-80494136dbb6\">mis v\u00f5imaldab<\/a><\/noindex> luua mitme l\u00f5imega s\u00fcndmuste t\u00f6\u00f6tlemise ts\u00fckleid (event loop). Teostus p\u00f5hineb moodulil worker_threads, mis v\u00f5imaldab k\u00e4ivitada JavaScripti koodi mitmes paralleelses l\u00f5imes. T\u00f6\u00f6tajate l\u00f5imude API stabiilne tugi on samuti tagasi portfelli LTS versioonis Node.js 12.x;\n<li class=\"l\"> Platvormide n\u00f5uded on t\u00f5usnud. N\u00fc\u00fcd peab kogumine olema <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/nodejs\/node\/blob\/master\/BUILDING.md#platform-list\">on vajalik<\/a><\/noindex> v\u00e4hemalt macOS 10.11 (vajalik Xcode 10), AIX 7.2, Ubuntu 16.04, Debian 9, EL 7, Alpine 3.8, Windows 7\/2008;\n<li class=\"l\"> Parandatud Python 3 tuge. Kui s\u00fcsteemis on olemas Python 2 ja Python 3, kasutatakse endiselt Python 2, kuid on lisatud v\u00f5imalus koguda ainult Python 3 olemasolul;\n<li class=\"l\"> Eemaldati vana HTTP-parseri teostus (&#171;&#8212;http-parser=legacy&#187;). Eemaldatud v\u00f5i jagatud vananenud omadused ja meetodid FSWatcher.prototype.start(), ChildProcess._channel, meetod open() objektides ReadStream ja WriteStream, request.connection, response.connection, module.createRequireFromPath();\n<li class=\"l\"> J\u00e4rgmisel <noindex><a rel=\"nofollow\" href=\"https:\/\/nodejs.org\/en\/blog\/release\/v13.0.1\/\">ilmus<\/a><\/noindex> uuendus 13.0.1, milles kohe p\u00e4rast vabastamist parandati mitu t\u00f5rget. Sealhulgas on lahendatud probleem, mis tekitas npm 6.12.0 versioonis teate kasutamisest toe s\u00f5ltumatust versioonist.\n<\/ul>\n<p>Tuletame meelde, et Node.js platvormi saab kasutada nii veebirakenduste serveripoolseks toetamiseks kui ka tavaliste kliendi- ja serveripoolsete v\u00f5rgurakenduste loomiseks. Node.js rakenduste funktsionaalsuse laiendamiseks on ette valmistatud suur <noindex><a rel=\"nofollow\" href=\"https:\/\/www.npmjs.com\/\">moodulite kogum<\/a><\/noindex>, millest v\u00f5ib leida mooduleid HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 serverite ja klientide rakendamiseks, erinevate veebiraamistikudega integreerimise mooduleid, WebSocket ja Ajax t\u00f6\u00f6tlejaid, andmebaasihalduss\u00fcsteemide (MySQL, PostgreSQL, SQLite, MongoDB) konnektoreid, templating t\u00f6\u00f6tlejaid, CSS-\u043cootoreid, kr\u00fcptograafiliste algoritmide ja autoriseerimiss\u00fcsteemide (OAuth) rakendusi, XML-parsereid.<\/p>\n<p> K\u00e4ideldes suurt arvu paralleelseid p\u00e4ringuid, kasutab Node.js as\u00fcnkroonset koodik\u00e4itlusmudelit, mis p\u00f5hineb mitteblokeerivatel s\u00fcndmuste t\u00f6\u00f6tlemisel ja callback-t\u00f6\u00f6tlejate m\u00e4\u00e4ratlemisel. \u00dchenduste multiplitseerimise meetoditena toetatakse selliseid meetodeid nagu epoll, kqueue, \/dev\/poll ja select. \u00dchenduste multiplitseerimiseks kasutatakse raamistikku <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/libuv\/libuv\">libuv<\/a><\/noindex>, mis on kiht <noindex><a rel=\"nofollow\" href=\"http:\/\/software.schmorp.de\/pkg\/libev.html\">libev<\/a><\/noindex> Unix s\u00fcsteemides ja IOCP Windowsis. Kui thread pool'i loomiseks on kasutatud teeki <noindex><a rel=\"nofollow\" href=\"http:\/\/software.schmorp.de\/pkg\/libeio.html\">libeio<\/a><\/noindex>, mittes\u00fcnniv\u00e4lja DNS-p\u00e4ringute t\u00e4itmiseks on integreeritud <noindex><a rel=\"nofollow\" href=\"http:\/\/c-ares.haxx.se\/\">c-ares<\/a><\/noindex>. K\u00f5ik blokeerivaid s\u00fcsteemik\u00f5nesid, mis v\u00f5iksid blokeerida, teostatakse thread pool'is ja seej\u00e4rel edastavad nad nagu signaalit\u00f6\u00f6tlejad oma t\u00f6\u00f6 tulemuse tagasi anon\u00fc\u00fcmse toru (pipe) kaudu. JavaScripti koodi t\u00e4itmine tagatakse Google'i arendatud mootori kaudu <noindex><a rel=\"nofollow\" href=\"http:\/\/code.google.com\/p\/v8\/\">V8<\/a><\/noindex> (t\u00e4iendavalt arendab Microsoft Node.js-i versiooni koos Chakra-Core mootoriga).  <\/p>\n<p>Oma olemuselt on Node.js sarnane raamistikuga <noindex><a rel=\"nofollow\" href=\"http:\/\/search.cpan.org\/dist\/AnyEvent\/\">Perl AnyEvent<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/eventmachine\/eventmachine\">Ruby Event Machine<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"http:\/\/twistedmatrix.com\/\">Python Twisted<\/a><\/noindex> ja <noindex><a rel=\"nofollow\" href=\"http:\/\/wiki.tcl.tk\/1527\">rakendus<\/a><\/noindex> Tcl-s\u00fcndmuste osas on aga Node.js-i s\u00fcndmuste t\u00f6\u00f6tlemise ts\u00fckkel (event loop) arendajalt varjatud ja sarnaneb brauseris t\u00f6\u00f6tava veebirakenduse s\u00fcndmuste t\u00f6\u00f6tlemisega. Node.js-i rakenduste kirjutamisel tuleb arvesse v\u00f5tta s\u00fcndmusele orienteeritud programmeerimise spetsiifikat, n\u00e4iteks, selle asemel et t\u00e4ita &#171;var result = db.query(&#171;select..&#187;);&#187; ootamisega kuni t\u00f6\u00f6tlemine l\u00f5peb, kasutab Node.js as\u00fcnkroonse teostuse p\u00f5him\u00f5tet, st kood muudetakse &#171;db.query(&#171;select..&#187;, function (result) {t\u00f6\u00f6tlus});&#187; selliseks, kus juhtimine liigub koheselt edasi j\u00e4rgmisele koodile ja p\u00e4ringu tulemust t\u00f6\u00f6deldakse andmete saabumise ajal. <\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Allikas: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51741\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0440\u0435\u043b\u0438\u0437 Node.js 13.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. \u041e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430 \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 Node.js 12.x, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u0430 \u0432 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044e \u0432\u044b\u043f\u0443\u0441\u043a\u043e\u0432 \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, \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u044e\u0442\u0441\u044f \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 4 \u043b\u0435\u0442. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 LTS-\u0432\u0435\u0442\u043a\u0438 Node.js 10.0 \u043f\u0440\u043e\u0434\u043b\u0438\u0442\u0441\u044f \u0434\u043e \u0430\u043f\u0440\u0435\u043b\u044f 2021 \u0433\u043e\u0434\u0430, \u0430 \u043f\u043e\u0437\u0430\u043f\u0440\u043e\u0448\u043b\u043e\u0439 LTS-\u0432\u0435\u0442\u043a\u0438 8.0 \u0434\u043e \u044f\u043d\u0432\u0430\u0440\u044f 2020 \u0433\u043e\u0434\u0430. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 [&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-39242","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0440\u0435\u043b\u0438\u0437 Node.js 13.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.\" \/>\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\/et\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-13-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\u0412\u044b\u043f\u0443\u0441\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Node.js 13.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0440\u0435\u043b\u0438\u0437 Node.js 13.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-13-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=\"2019-10-31T19:28:38+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:28: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\udd47Serveri JavaScripti platvormi Node.js 13.0 v\u00e4ljaanne | ProHoster","description":"Node.js 13.0 v\u00e4ljaanne, k\u00e4itamisplatvorm.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-13-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\u0412\u044b\u043f\u0443\u0441\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Node.js 13.0 | ProHoster","og:description":"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0440\u0435\u043b\u0438\u0437 Node.js 13.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.","og:url":"https:\/\/prohoster.info\/et\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-13-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":"2019-10-31T19:28:38+00:00","article:modified_time":"2019-10-31T19:28:38+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"39242","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":null,"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":"2026-01-24 01:26:26","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:53:37","updated":"2026-01-24 01:26:26","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/39242","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=39242"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/39242\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=39242"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=39242"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=39242"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}