TypeScript 换芯成功!
@zs.duan
TypeScript 换芯成功!
阅读量:38
2025-12-09 09:01:17

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.json

tsgo 正是新版原生编译器提供的命令行工具,作用等同于 tsc。即便和旧版并存,也不会冲突。

如果你用的是 VS Code,还可以从扩展市场安装“TypeScript (Native Preview)”扩展,这样编辑器体验也会走上原生路径。

编辑器体验同样升级

速度变快的不只是编译器,连编辑器体验也跟上来了。官方的原生预览版本包含语言服务的支持,也就是说你在编辑器里平时喜欢用的那些功能:自动补全、跳转定义 / 类型 / 实现、查找引用、重命名、悬浮提示、格式化、代码折叠、快捷修复,都已经支持了。

团队坦言,这些曾经是不少人犹豫要不要尝试原生版本的原因 —— “编辑器功能不完善 = 体验不完整”。现在,这些缺口已经补上,原生版对日常开发来说已经足够成熟了。

所以,是不是该立刻升级?

我的建议是:“想用 + 想快 + 项目体量不小” → 值得试一下。

对于中小项目,切换几乎零成本,能立刻体会到编译和编辑器响应的顺畅感。
对大型项目/代码库比较复杂的项目,也可以先在测试/ dev 分支尝鲜 —— 原生编译器的类型检查兼容性已经很高。官方依据两万个测试用例说明,新编译器在绝大多数情况下能输出和旧版一样的类型错误结果。
如果你有特殊构建需求(比如需要 emit 到非常旧的 ES5、或者用某些依赖旧 TS API 的工具链),那先慎重 —— 原生版本目前对老环境支持、某些装饰器/emit 模式 以及老 API 的兼容还不完全。

总的来说,只要你的项目不是那种“年代久远、层层兼容、动一下就会塌”的老环境,现在试试原生版本真的很划算。

最后简单说一句

TypeScript 7 的原生预览版,现在已经足够稳定,也足够快,能编译、能开发、能上手。

如果你在乎构建时间、在乎编辑器丝滑、在乎团队效率——这次升级值得一试。

也许从今天开始,TypeScript 终于迈进了真正的原生时代。

 

评论:

还没有人评论 快来占位置吧