{"id":231763,"date":"2023-01-12T18:03:00","date_gmt":"2023-01-12T15:03:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231763"},"modified":"2022-12-25T18:49:31","modified_gmt":"2022-12-25T15:49:31","slug":"5-pohjust-miks-deno-lopetab-typescripti-kasutamise","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/5-pohjust-miks-deno-lopetab-typescripti-kasutamise\/","title":{"rendered":"5 p\u00f5hjust, miks Deno l\u00f5petab TypeScripti kasutamise"},"content":{"rendered":"<p>T\u00e4na ilmus dokument, mis viitab sellele, et Deno l\u00f5petab TypeScripti kasutamise oma sisemises koodis, viidates mitmetele praeguse keskkonnaga seotud probleemidele. Mainitud probleemid h\u00f5lmavad muu hulgas TypeScripti kompileerimisaegu, struktureerimist ja koodikorraldust. Edaspidi kasutab Deno oma sisemise koodi jaoks puhast JavaScripti.<\/p>\n<h2>Deno probleeme TypeScriptiga<\/h2>\n<p>Ebasoodsad olukorrad, mida Deno meeskond praegu oma sisemise koodi jaoks <a href=\"https:\/\/startfunction.com\/tag\/typescript\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">TypeScripti kasutamisel kogeb, on j\u00e4rgmised:<\/a><\/p>\n<ul>\n<li>\n<p>TypeScripti kompileerimisaeg failide muutmisel v\u00f5tab mitu minutit, muutes pideva kompileerimise piinavalt aeglaseks<\/p>\n<\/li>\n<li>\n<p>Typescripti struktuur, mida nad kasutavad l\u00e4htefailides, mis loovad tegeliku Deno k\u00e4ivitatava faili ja kasutajale suunatud API-d, tekitab k\u00e4itusprobleeme.<\/p>\n<\/li>\n<li>\n<p>TypeScriptist ei ole Deno koodi korraldamisel abi. Vastupidi, Deno meeskond kogeb vastupidist efekti. \u00dcks mainitud probleemidest on see, et nad j\u00f5udsid kahes kohas s\u00f5ltumatute kehaklasside dubleerimisega <a href=\"https:\/\/github.com\/denoland\/deno\/issues\/4748\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">https:\/\/github.com\/denoland\/deno\/issues\/4748<\/a><\/p>\n<\/li>\n<li>\n<p>Sisemine kood ja k\u00e4itusaegsed TypeScripti deklaratsioonid tuleb k\u00e4sitsi s\u00fcnkroonis hoida, kuna TypeScripti kompilaator ei aita d.ts-faile luua<\/p>\n<\/li>\n<li>\n<p>Nad haldavad kahte TS-kompilaatori hosti: \u00fcks sisemise Deno koodi jaoks ja teine \u200b\u200b\u200b\u200bv\u00e4lise kasutajakoodi jaoks, kuigi m\u00f5lemal on sarnane eesm\u00e4rk<\/p>\n<\/li>\n<\/ul>\n<h2>TypeScripti eemaldamine sisemisest Deno koodist<\/h2>\n<p><a href=\"https:\/\/startfunction.com\/tag\/deno\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Deno<\/a> meeskonna eesm\u00e4rk on eemaldada sisemise Deno koodi kogu ehitusaegse TS-t\u00fc\u00fcbi kontrollimine ja komplekteerimine. Nad ootavad kogu k\u00e4itusaja koodi teisaldamist \u00fchte <a href=\"https:\/\/startfunction.com\/category\/javascript\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">JavaScripti<\/a> faili. T\u00fc\u00fcbim\u00e4\u00e4ratluste ja dokumentatsiooni s\u00e4ilitamiseks kasutavad nad siiski kaasfaili d.ts.<\/p>\n<p>Tasub mainida, et Deno l\u00f5petab TypeScripti kasutamise ainult sisemise Deno koodi jaoks: Deno kasutajakood on endiselt TypeScriptis ja seega on t\u00fc\u00fcp kontrollitud.<\/p>\n<p>Kuigi TypeScripti peetakse m\u00f5nikord JavaScripti t\u00e4iustatud versiooniks, n\u00e4itab see juhtum, et tegelikult see nii pole. Sellel on puudusi nagu igal teisel keelel. \u00dcks olulisemaid on selle aeglane koostamisaeg. Kuigi v\u00e4ikesed projektid ei pruugi puhtalt JavaScriptilt TypeScriptile \u00fcleminekul kompileerimisaja tohutut pikenemist n\u00e4ha, on see m\u00e4rgatav suurtes projektides, n\u00e4iteks keerulises <a href=\"https:\/\/startfunction.com\/tag\/react\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Reacti<\/a> rakenduses. Arvestades selle t\u00f6\u00f6aja suurt suurust, pole \u00fcllatav, et Deno l\u00f5petab TypeScripti kasutamise.<\/p>\n<p>Arendusaegse t\u00fc\u00fcbikontrolli ohutusel on kompileerimise ajal oma hind. Pole p\u00f5hjust, et TypeScripti projektil on ulatuslik dokument <a href=\"https:\/\/github.com\/microsoft\/TypeScript\/wiki\/Performance\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">kompileerimisaja k\u00e4sitlemise ja parandamise<\/a> kohta. \u00dcks huvitavamaid l\u00e4henemisviise on kasutada <a href=\"https:\/\/www.typescriptlang.org\/docs\/handbook\/project-references.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Project References<\/a>, mis v\u00f5imaldab arendajatel jagada suur TypeScripti koodiosa v\u00e4iksemateks t\u00fckkideks.<\/p>\n<h2>Lugege lisateavet selle kohta, miks Deno TypeScripti kasutamise l\u00f5petab<\/h2>\n<p>T\u00e4ieliku arutelu otsusest loobuda TypeScriptist sisemisest Deno koodist ja kasutada selle asemel JavaScripti leiate <a href=\"https:\/\/docs.google.com\/document\/d\/1_WvwHl7BXUPmoiSeD8G83JmS8ypsTPqed4Btkqkn_-4\/preview?pru=AAABcrrKL5k*nQ4LS569NsRRAce2BVanXw#\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">sellest dokumendist<\/a>, kus Ryan Dahl ja kaast\u00f6\u00f6tajad arutavad probleemi, selle lahendust ja selle rakendamist.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/startfunction.com\" class=\"external external_icon\">startfunction.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Deno l\u00f5petab TypeScripti kasutamise p\u00e4rast mitmeid probleeme (nt aeglane kompileerimisaeg).<\/p>\n","protected":false},"author":1,"featured_media":157627,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,749,729,833,894,842],"tags":[1165],"class_list":["post-231763","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-avatud-laehtekoodiga","category-javascript-4","category-juhend-algajatele","category-kood","category-opetused","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/231763","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/comments?post=231763"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/231763\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/157627"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=231763"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=231763"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=231763"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}