1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Deno 將停用 TypeScript 的五個(gè)原因

        共 1280字,需瀏覽 3分鐘

         ·

        2021-03-12 10:33

        最近有一份流傳的文檔,說(shuō)是 Deno 將停止在其內(nèi)部代碼中使用 TypeScript。文檔中提到了當(dāng)前開(kāi)發(fā)環(huán)境的幾個(gè)問(wèn)題,包括了 TypeScript 編譯時(shí)間、結(jié)構(gòu)和代碼管理等。在未來(lái),Deno 的內(nèi)部代碼將使用原生 JavaScript 進(jìn)行開(kāi)發(fā)。

        Deno 使用 TypeScript 的現(xiàn)存問(wèn)題

        目前 Deno 團(tuán)隊(duì)在內(nèi)部代碼中使用 TypeScript 時(shí),遇到的問(wèn)題有如下這些:

        • 當(dāng)更改文件時(shí),TypeScript 的編譯需要幾分鐘,這使得項(xiàng)目文件的連續(xù)編譯非常緩慢。
        • 在創(chuàng)建實(shí)際的 Deno 可執(zhí)行文件和面向用戶的 API 文件時(shí),使用的 TypeScript 結(jié)構(gòu)會(huì)造成項(xiàng)目運(yùn)行的性能問(wèn)題。
        • 事實(shí)證明,TypeScript 本身對(duì) Deno 代碼管理沒(méi)有幫助,并且 Deno 團(tuán)隊(duì)正經(jīng)受著相反的效果。在項(xiàng)目的議題列表中就提到一個(gè)問(wèn)題:在兩個(gè)不同的位置產(chǎn)生了相同的獨(dú)立主體類(lèi)。
        • 必須手動(dòng)保持內(nèi)部代碼和運(yùn)行時(shí) TypeScript 聲明的同步,因?yàn)?TypeScript 編譯器對(duì)生成 d.ts 文件沒(méi)有幫助。
        • Deno 團(tuán)隊(duì)需要去維護(hù)兩臺(tái) TS 編譯器主機(jī):一個(gè)用于內(nèi)部代碼,另一個(gè)用于外部用戶代碼,盡管兩者的目標(biāo)相似。

        Deno 內(nèi)部代碼刪除 TypeScript

        Deno 團(tuán)隊(duì)的目標(biāo)是刪除所有構(gòu)建時(shí) TS 類(lèi)型檢查和內(nèi)部代碼的捆綁。他們打算將所有運(yùn)行時(shí)代碼移動(dòng)到一個(gè) JavaScript 文件中。然而,他們還是使用配套的 d.ts 文件來(lái)保存類(lèi)型定義和文檔記錄。

        值得注意的是,Deno 將只在內(nèi)部代碼中停止使用 TypeScript,Deno 用戶代碼仍然可以使用 TypeScript,因此會(huì)進(jìn)行類(lèi)型檢查。

        雖然 TypeScript 有時(shí)被視為 JavaScript 的改進(jìn)版本,但以上情況表明事實(shí)并非如此。它具有任何其他語(yǔ)言一樣的缺陷,最重要的問(wèn)題之一是編譯速度慢。從原生 JavaScript 切換到 TypeScript 時(shí),小型項(xiàng)目可能不會(huì)在編譯時(shí)間上出現(xiàn)大幅度的增長(zhǎng),但在大型項(xiàng)目(如復(fù)雜的 React 應(yīng)用程序)中,它就會(huì)很明顯??紤]到編譯運(yùn)行時(shí)長(zhǎng),Deno 將停止使用 TypeScript 也就不足為奇。

        項(xiàng)目開(kāi)發(fā)過(guò)程進(jìn)行的安全性類(lèi)型檢查,在編譯時(shí)是有代價(jià)的。TypeScript 項(xiàng)目有一個(gè)關(guān)于如何解決和改進(jìn)編譯時(shí)間的文檔,這是有存在意義的。最有趣的方法之一是采取項(xiàng)目引用,它允許開(kāi)發(fā)人員將一個(gè)大的 TypeScript 代碼片段分解成更小的片段。

        閱讀更多關(guān)于 Deno 停用 TypeScript 的原因。

        譯者:zenblo  原文地址:https://startfunction.com/deno-will-stop-using-typescript/   

        瀏覽 30
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            插鸡巴网站 | 狂躁美女大bbbbbb黑人 | 国产一级a毛一级a毛免费观看 | 国产欧美在线免费观看 | 性free欧美1819hd天美 | 91免费在线视频 | 欧美综合成人网 | 日本大尺度吃奶做爰视频 | 91在线无码精品秘 少萝 | 日韩逼 |