原生版 TypeScript 正式發(fā)布,十倍性能提升!

5 月 22 日,微軟發(fā)布了原生版 TypeScript 的預(yù)覽版。通過使用 Go 語言重寫,TypeScript 實現(xiàn)了高達 10 倍的性能提升,開發(fā)者可以更快編譯,使用起來也更流暢。
為何要重構(gòu)?為何選 Go?
以前,TypeScript 編譯器是用 JavaScript 寫的,運行在 Node.js 上。這種做法有一些好處,比如容易配合其他工具。但也有明顯的問題:
- 在大型項目中,性能遲緩、內(nèi)存占用高。
- 運行效率受到 JavaScript 單線程模型的限制。
- 類型檢查、構(gòu)建和語言服務(wù)耦合緊密,難以模塊化優(yōu)化。
為了解決這些問題,今年三月,TypeScript 團隊就宣布正在使用 Go 語言重構(gòu) TypeScript,引起了前端圈的廣泛討論。
微軟在選新語言時,考慮了很多,比如 C# 和 Rust。最后選了 Go,有幾個主要原因:
- Go 的寫法和以前的 TypeScript 編譯器比較像,所以重寫起來更順利。
- Go 有自動內(nèi)存回收,開發(fā)時更省心,也能減少內(nèi)存問題。
- Go 支持并發(fā),能同時處理多個任務(wù),編譯更快。
- Go 編寫的程序可以在很多平臺上運行,TypeScript 的適用范圍更廣。
微軟的測試結(jié)果顯示,新版編譯器在一些有名的項目中速度提升非常明顯:
- VS Code:從 77.8 秒變成 7.5 秒,快了約 10 倍。
- Playwright:從 11.1 秒變成 1.1 秒,快了約 10 倍。
- TypeORM:從 17.5 秒變成 1.3 秒,快了約 13 倍。
一鍵體驗原生 TypeScript
可以通過下面的命令來體驗原生版 TypeScript:
npm install -D @typescript/native-preview然后,使用全新、臨時的命令行工具 tsgo(類似于 tsc)進行類型檢查和編譯:
npx tsgo --project ./src/tsconfig.json這個工具以后會替代現(xiàn)在的 tsc,并成為官方 TypeScript 的一部分。
編輯器支持也來了
不僅僅是命令行工具,在編輯器層面,微軟也同步發(fā)布了原生 TypeScript 的 VS Code 擴展插件:TypeScript (Native Preview),可以在 VS Code 的擴展市場中搜索并安裝它:

安裝后,你可以在命令面板中啟用:
TypeScript Native Preview: Enable (Experimental)或在設(shè)置中打開:
{
// UI Setting:
"typescript.experimental.useTsgo": true
}注意事項
原生版 TypeScript 還沒有開發(fā)完,目前已知的問題包括:
- 功能缺失:
a.命令行功能:如 --build、--declaration 等還不支持。
b.編輯器功能:自動導(dǎo)入、查找所有引用和重命名等功能也還沒有實現(xiàn)。
- 配置問題:如果你用的是舊的模塊解析方式(比如
--moduleResolution node),可能要改成新的(比如bundler或nodenext)。
未來計劃
- 短期目標(biāo):繼續(xù)補全功能,比如
--build模式、項目引用、查找引用、重命名、函數(shù)簽名提示等。 - 長期目標(biāo):這個預(yù)覽版最終會發(fā)展成 TypeScript 7,并且每天都會構(gòu)建,讓大家可以第一時間試新功能。































