TypeScript 5.9 发布 — 导入延迟、最小 tsconfig、Node20 模块模式

TypeScript工具Node.js

主要更新

TypeScript 5.9 正式发布,带来了日常开发中的实用功能:支持导入延迟提案(延迟模块评估)、一个更精简的 tsc --init 默认生成更小的 tsconfig.json 文件、一个 --module node20 选项以匹配 Node.js v20 模块语义、以编辑器为中心的改进如可扩展的悬停提示,以及一系列旨在减少泄漏类型变量的类型参数推断更改(这可能会在某些代码库中出现新的错误)。 (devblogs.microsoft.com)

重要性

导入延迟改变了模块(及其初始化工作)的运行方式和时机,因此如果你的代码和打包工具/运行时支持它,它可以显著降低冷启动和页面加载成本 — 但这也意味着依赖于急切模块副作用的打包工具、运行时补丁和库需要进行验证。新的最小 tsc --init 降低了新项目的入门摩擦,使合理的默认设置更容易采用。node20 模块模式减少了 TypeScript 输出与 Node v20 加载器之间的语义差距,这帮助服务器团队避免微妙的模块解析问题。最后,推断修复是操作上影响最大的项目:一些大型代码库在升级后会看到新的类型错误;通常的缓解措施是在 CI 中在一个分支上运行类型检查器,在必要时添加显式类型参数,并在升级时使用发布中的迁移说明。总体而言:以分阶段的方式采用 5.9(编辑器 + CI 检查 → 修复推断回归 → 在安全的情况下选择导入延迟),验证第三方工具链的兼容性(打包工具、代码检查工具、测试运行器),并优先在合并之前在 CI 中运行完整的类型检查。 (devblogs.microsoft.com)

来源

继续阅读