IT之家 7 月 30 日消息,Node.js 开发团队在 7 月 25 日合并了“为 TypeScript 添加实验性支持”的 Pull Request 拉取请求页面,旨在让 Node.js 开发者可以通过配置实验性 flag 直接执行 TypeScript 文件。不过此举引发争议,大量用户认为这将导致 Node.js 降低稳定性,相关页面甚至因为言论过激一度被锁定。
![▲ 相关页面引发大量讨论,截至发稿讨论条数为 271](http://n.sinaimg.cn/spider20240730/417/w820h397/20240730/81c8-2de66fb893cbcb7ded2d2b68cb09b691.jpg)
据悉,TypeScript 是微软基于 JavaScript 开发的编程语言,相对 JavaScript,其支持静态类型系统,可以提升代码安全性及运行效率。而原本以 JavaScript 为基础的 Node.js 要支持 TypeScript 需要进行一系列转译理,在转译过程中 TypeScript 特有的类型会被丢弃(IT之家注:即“类型剥离”,Type Stripping)。
许多开发者认为相关类型剥离操作“并不简单”,需要完整的 TypeScript 语法解析器才能实行,但 TypeScript 语法又不断变化,因此 Node.js 添加 TypeScript 实验性支持的行为反而降低了语言稳定性,还有可能导致未来用户需要不断更新 Node.js 版本才能支持 TypeScript 的所有功能。
而 Node.js 开发团队则回应称他们添加 TypeScript 实验性支持是为了照顾“社区需求”,相关改进“是推动 Node.js 生态系统发展以及未来提供原生支持 TypeScript 的重要一步”,令加载 TypeScript 文件更为便利,而不需要安装依赖项 / 专有加载程序。
Node.js 开发团队同时表示,他们早已与社区就进行一轮讨论,会在保持稳定、高性能的前提下实现类型剥离方案,目前 Node.js 开发团队倾向于以解耦的方式分发独立包令其获得实验性 TypeScript 支持,这样既能维持 Node.js 核心稳定,也能够保证其持续发展。
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。
![新浪科技公众号 新浪科技公众号](http://n.sinaimg.cn/tech/content/tech_qr2x.png)
“掌”握科技鲜闻 (微信搜索techsina或扫描左侧二维码关注)
![](http://n.sinaimg.cn/tech/content/tech_weixin2.png)