news 2026/4/18 5:20:42

Node.js 历史性一刻!原生 TS 支持正式 Stable,告别 ts-node

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Node.js 历史性一刻!原生 TS 支持正式 Stable,告别 ts-node

Node.js 的历史性一刻来了。

2025 年 12 月 10 日,Node.js 官方发布了v24.12.0 (LTS)版本。

在这个版本中,有一个不起眼但分量极重的更新:Type Stripping(类型剥离)功能被标记为稳定版(Stable)。

这意味着,你以后可能再也不需要安装ts-nodetsx,也不需要配置繁琐的babelwebpack,就能直接用 Node.js 运行 TypeScript 代码了。

这是 Node.js 诞生以来,对 TypeScript 拥抱得最紧的一次。

什么是 "Type Stripping"?

简单来说,这就是 Node.js 对 TypeScript 的"原生支持"。

但在你欢呼之前,我们需要先搞清楚它的原理。Node.js 并没有内置一个完整的 TypeScript 编译器(TSC)。它不会去检查你的代码有没有类型错误。

它的做法非常"简单粗暴":在运行代码之前,迅速把你代码里的 TypeScript 类型标注(Type Annotations)全部"脱掉",把它变成纯净的 JavaScript,然后交给 V8 引擎执行。

这就好比你去坐安检。

  • 以前(tsc / ts-node):安检员会仔细检查你穿的这件"类型大衣"合不合身,扣子有没有扣对(类型检查),检查没问题了,再让你脱掉大衣进去。

  • 现在(Native Type Stripping):安检员根本不管你大衣合不合身,他只负责帮你把大衣脱掉,然后直接让你进去。

这种方式的最大的优点就是。因为它跳过了最耗时的"类型检查"步骤。

怎么用?

在 Node.js v24.12.0 LTS 之前,你可能需要加各种 flag(比如--experimental-strip-types)。

但现在,它Stable了。

你只需要像运行普通 JS 文件一样:

node app.ts

没错,就是这么简单。

只要你的.ts文件里只包含了符合规范的 TypeScript 语法(不用构建工具就能抹除的语法),它就能直接跑起来。

有什么限制?

"原生支持"听起来很美,但它不是万能的。为了保证性能和兼容性,Node.js 的这个功能有几个硬性限制,你必须知道:

1. 它不负责查错再次强调,Node.js只负责运行,不负责体检。如果你把string赋值给了number,Node.js 运行时可能不会报错(除非逻辑本身有错),直到代码跑偏。 所以,你依然需要在编辑器里(VS Code)或者 CI/CD 流程中运行tsc --noEmit来做类型检查。

2. 只能用"可擦除"的语法Node.js 只能处理那些"删掉也不影响逻辑"的 TS 语法。

  • 支持:Interface(接口)、Type Alias(类型别名)、Generics(泛型)、函数参数类型标注。

  • 不支持:Enum(枚举)、Namespace(命名空间)、Decorator(装饰器,除非是新的标准装饰器)。

因为像Enum这样的语法,编译后会生成额外的 JavaScript 代码(不仅仅是删掉那么简单),Node.js 的轻量级剥离器处理不了。

3. 显式扩展名在 import 文件时,你必须写全扩展名,比如import { sum } from './math.ts'。这和我们习惯的省略.ts后缀不太一样。

对我们意味着什么?

虽然有种种限制,但这依然是一个巨大的进步。

对于脚本编写、小型工具开发、或者本地快速调试来说,体验提升是飞跃级的。

  • 以前:写个小脚本,得先npm init,装typescript,装ts-node,写tsconfig.json... 还没开始写代码,半小时过去了。

  • 现在:创建script.ts,写代码,node script.ts。完事。

这也释放了一个强烈的信号:TypeScript 已经是事实上的标准了。

连 Node.js 这样庞大的运行时都在向它妥协、为它优化。未来的 JavaScript 生态,原生支持 TypeScript(哪怕只是剥离类型)将成为标配。

总结

Node.js v24.12.0 LTS 的这次更新,虽然没有完全替代tsc,但它精准地解决了开发者"想直接运行 TS 文件"的痛点。

它没想取代构建工具,但它想让你在开发阶段过得更舒服一点。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 23:49:23

购买GPU算力前必看:Kotaemon性能基准测试报告

购买GPU算力前必看:Kotaemon性能基准测试报告 在企业加速拥抱生成式AI的今天,一个现实问题摆在技术决策者面前:我们到底需要多少GPU?是租用A100集群,还是从一张T4卡起步?盲目采购动辄数十万元的算力资源&am…

作者头像 李华
网站建设 2026/4/3 6:29:42

Minecraft启动器版本降级全攻略:从崩溃到稳定的救急指南

Minecraft启动器版本降级全攻略:从崩溃到稳定的救急指南 【免费下载链接】PrismLauncher A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once (Fork of MultiMC) 项目地址: https://gitcode.com/gh_…

作者头像 李华
网站建设 2026/4/16 19:54:04

STARTRAC终极指南:单细胞T细胞分析与TCR追踪完整教程

STARTRAC终极指南:单细胞T细胞分析与TCR追踪完整教程 【免费下载链接】STARTRAC STARTRAC(Single T-cell Analysis by Rna-seq and Tcr TRACking) 项目地址: https://gitcode.com/gh_mirrors/st/STARTRAC 单细胞T细胞分析是免疫治疗研究中的关键技术挑战。传…

作者头像 李华
网站建设 2026/4/16 12:50:49

如何用OpenMS实现质谱数据分析的终极解决方案?

如何用OpenMS实现质谱数据分析的终极解决方案? 【免费下载链接】OpenMS The codebase of the OpenMS project 项目地址: https://gitcode.com/gh_mirrors/op/OpenMS OpenMS作为一款强大的开源质谱数据处理平台,专门为液相色谱-质谱(LC…

作者头像 李华
网站建设 2026/4/8 5:13:12

ExoPlayer播放状态恢复终极指南:打造无缝续播体验

ExoPlayer播放状态恢复终极指南:打造无缝续播体验 【免费下载链接】ExoPlayer 项目地址: https://gitcode.com/gh_mirrors/ex/ExoPlayer 你是否曾经在观看视频时被打断,重新打开应用却要从头开始?或者调整好的播放设置重启后就全部丢…

作者头像 李华
网站建设 2026/4/16 14:22:22

DataEase 内网部署终极指南:三步搞定无网络环境数据可视化平台

DataEase 内网部署终极指南:三步搞定无网络环境数据可视化平台 【免费下载链接】dataease DataEase: 是一个开源的数据可视化分析工具,支持多种数据源以及丰富的图表类型。适合数据分析师和数据科学家快速创建数据可视化报表。 项目地址: https://gitc…

作者头像 李华