17611538698
info@21cto.com

TypeScript 7 RC:编译器用 Go 语言重写,速度提升约 10 倍

编程语言 0 19 1小时前
图片

导读:微软推出RC版TypeScript 7.0,性能提升约10倍,且完全兼容6.0语义,支持现有项目无缝迁移。

各位,微软近日推出了 TypeScript 7 候选发行版。此次更新最核心的改动并非新增语法或配置项,而是把整套编译器底层全部改用 Go 语言重构。

在过去的一年,TypeScript 团队完成了原有代码库的迁移工作。项目没有选择从零重构,而是在现有 TS 实现基础上逐步移植,因此类型校验逻辑和 TypeScript 6 保持完全一致。开发者无需改动原有 TS 代码写法,就能直接享受大幅提升的运行性能。

性能暴涨的核心原因


提速并非优化小技巧,而是依托 Go 语言原生优势。Go 可编译为机器原生二进制程序,还支持共享内存并行运算。

据微软官方测试数据显示,同等项目下 TypeScript 7 的构建速度普遍比 V6 快十倍。该结论并非仅是微软自测,Figma、彭博、Vercel、Notion、Slack 等企业已经提前测试预发布版本超过一年,均测出相近的性能提升效果。

速度提升覆盖全场景,不局限于命令行 tsc 工具。编辑器实现代码提示、悬浮预览、实时报错的 LSP 语言服务,同样复用这套 Go 底层架构,大型项目里编辑器卡顿、加载慢的问题会明显缓解,也是开发者日常最直观能感受到的优化。

该项目开源托管在 GitHub平台,采用 Apache 2.0 开源协议,仓库标星超 25000,整体代码约 85% 由 Go 编写。对于微软主流前端工具而言,选用 Go 作为底层开发语言,是一次不小的改变。

升级建议:务必先完成 TypeScript 6 过渡


TypeScript 7 完全沿用 V6 的默认配置,且 V6 中所有标注废弃的语法、配置,在 V7 里都会直接抛出阻断编译的硬性错误。由于 V6 推出时间不长,绝大多数项目都需要提前适配整改。

V6 的定位就是过渡版本,本身无重磅新功能,仅用来提前提示 V7 会彻底废弃的语法与配置。官方和实操建议统一:项目先升级至 TS6,清理全部废弃警告,后续升级 TS7 就不会出现编译故障。

一批旧配置在 TS7 会直接报错:target 不再支持 es5;module 淘汰 amd、umd、systemjs;默认参数变更为 strict: true、module: esnext。moduleResolution 有两处容易踩坑的改动:baseUrl 默认值改为 ./,通常需要手动指向 ./src;types 不再自动检索,必须手动写明依赖包。

TS6 与 TS7 可并行共存


当下多数第三方工具还没能立刻适配 TS7,比如 typescript-eslint 直接依赖 TS 包,稳定对外程序接口要等到 TS7.1 才会上线,距离现在还有数月。

微软提供了双版本共存方案,两个版本运行互不干扰,配套兼容包 @typescript/typescript6 提供 tsc6 命令并完整导出 TS6 API。只需在 package.json 配置 npm 别名即可同时安装两个版本:

{"devDependencies":{"typescript":"npm:@typescript/typescript6@^6.0.0","typescript-7":"npm:typescript@rc"}}

当配置完成后,代码校验工具使用稳定兼容的 TS6,项目编译等流程使用高性能 TS7,兼顾工具兼容性与编译速度。

微软团队称预计在 7.1 版本发布后,各类配套工具适配会基本完善。

并行编译、多仓库构建与轻量化监听模式


TS7 支持解析、类型检查、产出物输出多步骤并行执行。文件解析和输出很容易拆分多线程处理,类型检查受文件依赖限制逻辑更复杂,团队采用固定数量工作线程分担任务,保证相同输入一定产出一致结果。

默认启用 4 个类型检查线程,可通过 --checkers 参数自定义线程数。多核设备调高线程数能进一步提速,但会增加内存占用;CI 资源有限的环境建议调低数值。

新增 --builders 参数,支持单体仓库多项目同步构建,可和 --checkers 叠加生效,例如同时配置 --checkers 4 --builders 4,最多可并行 16 组类型检查任务。添加 --singleThreaded 可强制单线程运行,适合调试或对比 TS6、TS7 的校验差异。

文件监听模式基于 Parcel 的监听逻辑迁移至 Go,不再轮询扫描庞大的 node_modules 目录,监听占用资源更低、响应更快。

常用测试命令


以下,我们来分享一些常用的TS测试命令。

安装 RC 候选版

npm install -D typescript@rc
查看版本号

npx tsc --version

常规编译(速度大幅提升)

npx tsc


自定义类型检查线程数量

npx tsc --checkers 8

强制单线程,用于版本对比调试

npx tsc --singleThreaded

并行安装 TS6、TS7 双版本

npm install -D typescript@npm:@typescript/typescript6npm install -D typescript-7@npm:typescript@rcnpm install -D @typescript/native-previewnpx tsgo --version

夜间构建版本二进制命令为 tsgo,等 TS7 正式稳定版发布后,全部能力会统一归至 typescript 主包。

总结


TypeScript 7 不会改动原有代码逻辑与类型校验规则,全部优化围绕构建、编辑器运行速度展开。

推荐给各位一个实操路线:先升级项目到 TS6 清理废弃警告,同时本地安装 RC 版本测试项目,遇到问题可在GitHub: microsoft/typescript-go 仓库提交反馈。候选版发布约一个月后,也就是 2026 年 7 月,TypeScript 7 正式稳定版将会上线。

作者:场长

评论

我要赞赏作者

请扫描二维码,使用微信支付哦。

分享到微信