被指影响稳定性,Node.js 添加实验性 TypeScript 支持引争议

开发
Node.js 开发团队在 7 月 25 日合并了“为 TypeScript 添加实验性支持”的 Pull Request 拉取请求页面,旨在让 Node.js 开发者可以通过配置实验性 flag 直接执行 TypeScript 文件。

7 月 30 日消息,Node.js 开发团队在 7 月 25 日合并了“为 TypeScript 添加实验性支持”的 Pull Request 拉取请求页面,旨在让 Node.js 开发者可以通过配置实验性 flag 直接执行 TypeScript 文件。不过此举引发争议,大量用户认为这将导致 Node.js 降低稳定性,相关页面甚至因为言论过激一度被锁定。

▲ 相关页面引发大量讨论,截至发稿讨论条数为 271

据悉,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之家
相关推荐

2021-01-18 09:43:58

Node.js前端服务端

2023-06-30 08:43:36

2024-08-28 08:33:15

2023-04-26 18:36:13

2023-12-04 18:24:17

WaylandLinux

2012-07-12 10:15:15

Node.js

2011-12-05 09:39:57

Node.js

2010-04-27 15:53:07

2022-05-13 12:14:44

CSS项目技能

2010-02-04 13:57:38

Linux系统

2022-09-15 08:33:27

安全生产系统Review

2012-03-28 13:34:09

红帽Node.js支持

2016-04-13 11:31:35

2010-03-11 09:09:09

Windows 7补丁更新

2011-12-21 09:46:46

程序员

2009-07-27 10:08:14

2023-02-10 15:34:45

Node.jsN-API组件

2011-08-01 11:03:15

2020-07-28 08:07:14

ElasticSear

2020-07-13 08:10:13

软件设计系统
点赞
收藏

51CTO技术栈公众号