登录

会员权益

获取需求

查看名片

专属客服

尊贵标识

VIP低至1.5U/天

Node.js添加实验性TypeScript支持,版本稳定性疑虑引发社群激烈讨论

分享

支付動態

2024-07-29

Node.js添加实验性TypeScript支持,引发社群对类型剥离、版本兼容性的热烈讨论,并担忧版本可能因TypeScript频繁变更而需经常更新

Node.js开发团队在新版本增加实验性TypeScript支持,要让Node.js开发者可以直接运行TypeScript文件,但是社群成员却在该功能相关的GitHub拉取请求页面,表达对该功能实作的疑虑,包括对支持的方法以及版本兼容性都提出许多意见,该GitHub页面甚至一度因为讨论过激而锁定。

TypeScript是微软所开发的编程语言,其源自于JavaScript但是拥有更多的功能,静态类型系统便是其重要功能之一。静态类型系统在大型或是复杂系统的开发扮演重要的角色,具有增加安全性、性能和可维护性等优点。

之所以Node.js会添加TypeScript实验性支持,是基于回应社群的需求,这对于推动Node.js生态系发展,以及未来提供原生支持TypeScript是重要的一步,以更直接的方式运行TypeScript文件,而不需要额外安装相依项目或是引导程序。

原本以JavaScript为基础的Node.js要能支持TypeScript,需要进行一系列处理,像是类型剥除,移除TypeScript特有的类型,对于Enum和命名空间等原本不存在于JavaScript的功能,则需要进行额外转换。

添加TypeScript支持的拉取请求页面,这几天大量在社交平台、网络论坛上曝光,引来许多开发者的关注。讨论的内容围绕在类型剥离的方法上,不少开发者认为TypeScript类型剥离并非简单的操作,会需要完整的TypeScript语法解析器,但是TypeScript语法又不断改变,因此这增加了支持的难度,用户可能需要不断更新Node.js版本才能支持TypeScript功能。

错误堆栈的正确性也受到关注,社群担心在剥离类型之后,编译器无法取得正确的错误位置信息。有一派的支持者认为应该分离更新,采用类似NPM的策略,将TypeScript解析器作为一个可单独更新的套件,甚至是推出专门支持TypeScript的Node.js版本,避免项目之间的兼容性问题。

不过,早在之前,开发者与社群就已经过一轮讨论,会在保有稳定、高性能的前提下实作,采用类型剥离的方法,不支持TypeScript的所有功能,尽量保持简单。

目前作者也倾向以解耦的方式在Node.js支持TypeScript,通过创建独立的套件,如此既能够维持内核稳定版本,也能够当TypeScript发布Node.js不支持的新功能、重大变更,或是用户想要自己使用新的实验功能,可以独立升级TypeScript。

免责声明:
详情
HUIDU.io

GROWTH DRIVEN GLOBAL PTE. LTD. 202618650K

101 THOMSON ROAD, #28-03A, UNITED SQUARE, SINGAPORE 307591

Copyright 2026 HuiDu