TypeScript 換芯成功!

12 月 2 日,TypeScript 官方給出了一個重磅更新:經過一段時間的重寫,他們把編譯器和語言服務都完全使用 Go 語言重構,現在原生預覽版已經可以拿來試用了。
也就是說,陪伴我們多年的用的 JS 實現的編譯器,有望在不久之后徹底退休。新版本將以原生代碼(也就是更貼近機器的方式)運行,不再依賴 JS 運行時 —— 簡單來說,是一次從“腳本語言編譯器”到“原生編譯器”的跨代升級。
編譯 / 類型檢查:速度快到“飛起”
這次原生化帶來的最大變化,就是編譯和類型檢查的速度。
官方給出的數據非常直觀 —— 同樣的項目,用新版命令行編譯器跑起來比舊版快 8–10 倍。以幾個真實項目為例:有的從 133 秒直接縮短到 16 秒,有的從 89 秒降到 8.7 秒。
更重要的一點是,這種加速不是靠緩存、不是靠增量編譯,而是“冷啟動 + 全量構建”:也就是說,即使第一次完整構建,也能體驗到這個提升。對大型項目來說,這就像突然把電腦換成了新 Mac — 開發體驗立刻不一樣了。
想試的話,其實很簡單
如果你現在用的是 TypeScript + Node / 前端項目,馬上就能上手體驗:
npm install -D @typescript/native-preview
# 然后用 tsgo 而不是 tsc
npx tsgo --project tsconfig.jsontsgo 正是新版原生編譯器提供的命令行工具,作用等同于 tsc。即便和舊版并存,也不會沖突。
如果你用的是 VS Code,還可以從擴展市場安裝“TypeScript (Native Preview)”擴展,這樣編輯器體驗也會走上原生路徑。
編輯器體驗同樣升級
速度變快的不只是編譯器,連編輯器體驗也跟上來了。官方的原生預覽版本包含語言服務的支持,也就是說你在編輯器里平時喜歡用的那些功能:自動補全、跳轉定義 / 類型 / 實現、查找引用、重命名、懸浮提示、格式化、代碼折疊、快捷修復,都已經支持了。
團隊坦言,這些曾經是不少人猶豫要不要嘗試原生版本的原因 —— “編輯器功能不完善 = 體驗不完整”。現在,這些缺口已經補上,原生版對日常開發來說已經足夠成熟了。
所以,是不是該立刻升級?
我的建議是:“想用 + 想快 + 項目體量不小” → 值得試一下。
?對于中小項目,切換幾乎零成本,能立刻體會到編譯和編輯器響應的順暢感。
?對大型項目/代碼庫比較復雜的項目,也可以先在測試/ dev 分支嘗鮮 —— 原生編譯器的類型檢查兼容性已經很高。官方依據兩萬個測試用例說明,新編譯器在絕大多數情況下能輸出和舊版一樣的類型錯誤結果。
?如果你有特殊構建需求(比如需要 emit 到非常舊的 ES5、或者用某些依賴舊 TS API 的工具鏈),那先慎重 —— 原生版本目前對老環境支持、某些裝飾器/emit 模式 以及老 API 的兼容還不完全。
總的來說,只要你的項目不是那種“年代久遠、層層兼容、動一下就會塌”的老環境,現在試試原生版本真的很劃算。
最后簡單說一句
TypeScript 7 的原生預覽版,現在已經足夠穩定,也足夠快,能編譯、能開發、能上手。
如果你在乎構建時間、在乎編輯器絲滑、在乎團隊效率——這次升級值得一試。
也許從今天開始,TypeScript 終于邁進了真正的原生時代。

























