news 2026/3/25 17:28:36

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/3/14 14:25:51

CustomTkinter深度解析:打造现代Python桌面应用的视觉优化方案

CustomTkinter深度解析:打造现代Python桌面应用的视觉优化方案 【免费下载链接】CustomTkinter A modern and customizable python UI-library based on Tkinter 项目地址: https://gitcode.com/gh_mirrors/cu/CustomTkinter 在Python桌面应用开发领域&#…

作者头像 李华
网站建设 2026/3/24 3:11:35

Langchain-Chatchat后端API接口文档说明

Langchain-Chatchat 后端 API 接口与本地知识库系统深度解析 在企业智能化转型的浪潮中,如何让沉淀在 PDF、Word 和内部文档中的私有知识真正“说话”,成为许多组织面临的核心挑战。尤其是金融、医疗、法律等行业,在追求 AI 能力的同时&#…

作者头像 李华
网站建设 2026/3/13 1:15:22

yshop意象商城:全栈电商平台架构深度解析与实战应用

yshop意象商城:全栈电商平台架构深度解析与实战应用 【免费下载链接】yshopmall yshop基于当前流行技术组合的前后端分离商城系统: SpringBoot2MybatisPlusSpringSecurityjwtredisVue的前后端分离的商城系统, 包含商城、sku、运费模板、素材库…

作者头像 李华
网站建设 2026/3/22 23:42:52

终极Audacity完全指南:从零开始掌握免费音频编辑神器

终极Audacity完全指南:从零开始掌握免费音频编辑神器 【免费下载链接】audacity Audio Editor 项目地址: https://gitcode.com/GitHub_Trending/au/audacity 想要免费获得专业级的音频编辑体验吗?Audacity作为一款功能强大的开源音频编辑器&…

作者头像 李华
网站建设 2026/3/19 20:08:40

React SoybeanAdmin终极指南:10个快速构建企业级管理系统的秘诀

在当今快速发展的数字时代,企业级管理系统已成为各类组织不可或缺的核心工具。React SoybeanAdmin作为一款基于React19技术栈的现代化中后台模板,为开发者提供了开箱即用的解决方案,让您能够快速搭建专业级的管理平台。 【免费下载链接】soyb…

作者头像 李华