TypeScript 支持痛点终获解决
6月10日,Node.js 官方团队发布了 Amaro 1.0,这一里程碑式的工具标志着 Node.js 对 TypeScript 的原生支持终于走向稳定。长期以来,尽管 TypeScript 在前端开发领域已成为提升代码质量的主流选择,Node.js 生态对其支持却始终滞后,迫使开发者依赖第三方工具链。
历史性转折:从实验性功能到稳定支持
Node.js 团队对 TypeScript 的支持经历了几个关键阶段:
-
2024年6月:Node v22.6 引入
--experimental-strip-types
标志,首次实现对简单 TypeScript 文件类型注释的移除 -
2024年7月:Node v22.7 加入
--experimental-transform-types
标志,支持 enum、namespace 等复杂语法 -
2025年3月:Node v23.6 默认开启类型剥除功能,无需额外参数即可直接运行 .ts 文件
Amaro 1.0 核心技术解析
作为用 Rust 编写并通过 WebAssembly 在 Node.js 中运行的类型剥除加载器,Amaro 1.0 具有以下突出特性:
-
卓越性能:基于 SWC 引擎实现极速运行,资源占用极小
-
双模式支持:
-
strip-types
:仅移除类型注释,保留原语法结构 -
transform-types
:处理复杂语法转换如枚举和命名空间
-
-
完整生态支持:可处理 node_modules 中的 .ts 文件,完美适配 monorepo 项目
-
独立更新机制:作为独立模块存在,更新周期不受 Node.js 版本限制
三大运行时 TypeScript 支持对比
未来展望
Amaro 1.0 的发布标志着 Node.js 生态向 TypeScript 友好型环境迈出了决定性一步。随着这一工具的普及,开发者将能够:
-
彻底摆脱繁琐的编译步骤,直接运行 TypeScript 代码
-
享受更快的开发启动速度和更简洁的调试流程
-
在保持现有 Node.js 生态完整性的同时获得 TypeScript 的类型安全优势
这一突破性进展预示着 JavaScript 和 TypeScript 在 Node.js 环境中的界限将逐渐模糊,为全栈开发者带来更加统一、高效的开发体验。