#阿里云 #飞天发布时刻 正在直播!中企出海的「技术引擎」来了! 了解详情
写点什么

Node.js 23.6 提供 TypeScript 原生支持

  • 2025-05-09
    北京
  • 本文字数:779 字

    阅读完需:约 3 分钟

大小:384.79K时长:02:11
Node.js 23.6 提供 TypeScript 原生支持

Node 团队最近宣布,在 Node 23.6 中提供 TypeScript 原生支持。现在,Node 开发人员无需任何额外的配置或标识即可运行 TypeScript 文件。在 Node 22.6 中,该功能尚属于试验性质,现在已经稳定。TypeScript 原生支持是开发人员要求最多的 Node 功能之一。

 

现在,Node 开发人员可以创建一个 index.ts 文件,运行 node index.ts,并且不需要额外的标识,Node 会移除文件中的 TypeScript 类型注解,并运行生成的 JavaScript 代码。

 

注意事项:Node.js 会忽略 tsconfig.json 文件,这是有意不再支持依赖于 tsconfig.json 设置的特性,如路径或将较新的 JavaScript 语法转换为较旧的标准(如装饰器,第三阶段建议)。同样, JSX 文件也不再支持。

 

Node 也不支持需要生成 JavaScript 代码的 TypeScript 语法。由于 Node 只需用空格替换内联类型(即类型剥离),所以开发人员无需源映射即可运行 TypeScript 代码。不过,某些具有运行时语义或需要生成 JavaScript 代码的 TypeScript 结构将不再支持。在支持范围内的 TypeScript 语法集称为可擦除语法。为支持这一工作流程,最新发布的 TypeScript(即 TypeScript 5.8)添加了一个 --erasableSyntaxOnly 标识。

 

Node.js 文档中列出了最重要的不再支持的语法:

以下是需要转换的最重要的特性:

Enum 声明

包含运行时代码的namespace 

包含运行时代码的遗留 module 

参数属性

导入别名


TypeScript 原生支持让 Node 更接近于其他原生 TypeScript 运行时,如 Deno 或 Bun。在一篇博文中,Deno 团队详细介绍了其他一些只有 Deno 才提供的特性,其中包括 tsconfig 支持和无需转译即可发布 TypeScript。

 

欢迎开发人员查看关于特性路线图的广泛讨论,其中包括团队做出相关权衡选择的原因以及开发人员的反馈。

 

声明:本文为 InfoQ 翻译,未经许可禁止转载。

 

原文链接:https://www.infoq.com/news/2025/03/node-23-runs-typescript-natively/

2025-05-09 10:007137

评论

发布
暂无评论

Web3 结算协议 Zebec Protocol 的商业模式与发展前景一览

鳄鱼视界

京东商品获取优惠券API接口-京东优惠券如何获取-京东联盟API接口

江苏京酷电子商务有限公司

json API 京东商城

华硕a豆召开智能生态发布会,软硬兼施解锁智能新生活

科技热闻

计算机网络(一、概述)

计算机网络 8月月更

java程序员培训后如何在一线城市找到工作

小谷哥

STM32入门开发:编写XPT2046电阻触摸屏驱动(模拟SPI)

DS小龙哥

8月月更

App切换到后台后如何保持持续定位?

HarmonyOS SDK

CAT认证敏捷团队教练工作坊 (Coaching Agile Teams) | 9月24日开课

ShineScrum

敏捷教练 专业教练 团队教练 GROW Model

面试突击:SpringBoot 有几种读取配置文件的方法?

Java编程日记

Java Spring Boot java程序员 java面试 面试突击

前端程序员培训学习未来的薪资怎么样

小谷哥

不是吧,还有人不知道三目运算符的BUG

自然

基础 8月日更 8月月更

a豆14 Pro高性能高颜笔记本,新潮配色助力打造a豆AIoT智能生态圈

科技热闻

元宇宙系统源码——测试方案

开源直播系统源码

软件测试 软件开发 元宇宙

Java基础知识(一些需要注意的点)

自然

基础 8月月更

每日一R「08」类型系统(二)

Samson

8月月更 ​Rust

干货|语义网、Web3.0、Web3、元宇宙这些概念还傻傻分不清楚?(下)

Orillusion

WebGL 元宇宙 Metaverse webgpu #开源

再见MybatisPlus,阿里推出新ORM框架!

TimeFriends

8月月更

【云原生】SpringCloud Alibaba 之 Nacos注册中心实战

Bug终结者

Java 分布式 SpringCloud 8月月更

Go-Excelize API源码阅读(十二)——SetSheetVisible(sheet string, visible bool)

Regan Yue

Go 开源 源码刨析 8月日更 8月月更

都说MySQL单表不要超过2000W行,这是真的吗?

Java全栈架构师

Java MySQL 数据库 程序员 面试

RocketMQ高可用设计之消息发送重试

急需上岸的小谢

8月月更

docker下,极速搭建spark集群(含hdfs集群)

程序员欣宸

spark 8月月更

开源一夏 | 使用 Three.js 实现"雪糕"地球,让地球也凉爽一夏

战场小包

JavaScript 开源 前端 3D ThreeJS

加码企业服务,阿里云发布计算巢加速器

阿里云弹性计算

PaaS 企业服务 计算巢 ISV

Redis分布式锁-觉悟吧,红锁!

知识浅谈

redis分布式锁 8月月更

Java性能优化的七个方向

小柴说Java

编程 JVM Java性能调优 Java性能优化

面试突击75:SpringBoot 有几种读取配置文件的方法?

王磊

Java 常见面试题

要相信自己可以解决问题

FunTester

Web3 结算协议 Zebec Protocol 的商业模式与发展前景一览

BlockChain先知

小菜鸟河北联通上岗培训随笔二

乌龟哥哥

8月月更

[极致用户体验] 用户体验好的 Button,在手机上不应该有 Hover 态

HullQin

CSS JavaScript html 前端 8月月更

Node.js 23.6 提供 TypeScript 原生支持_后端_Bruno Couriol_InfoQ精选文章