Node.js 将原生支持 TS!

2024-07-30 20:37:07 浏览数 (1)

Node.js 近日刚合并了一个 PR#53725[1],主要内容是通过设置 flag --experimental-strip-types,使得可以在 Node.js 中直接执行 TypeScript 文件Node.js 会自动将 TypeScript 源代码转译为 JavaScript 源代码,不需要手动安装依赖来做转译了。在这个转译过程中,不会进行类型检查,所有的类型信息都会被丢弃

关于动机。在以往的所有调查中,用户都表达了这个需求,必须承认这一点不容忽视,用户有需求就要重视。同时,近年来 TypeScript 的普及率也是越来越高(现在不学 TS 感觉自己都要被淘汰了,哈哈哈...)。

通过 Node.js 内置 TS 功能,用户是不需要安装外部依赖和一些加载器的。

例如,直接运行 node index.ts

代码语言:javascript复制
const foo: string = "foo";

转换后的代码为:

代码语言:javascript复制
const foo = "foo";

其他运行时环境也会将一些 TypeScript 特有的功能转化为 JavaScript,例如枚举(Enums),而枚举在 JavaScript 中是不存在的。至少在这个 PR 的初始阶段,不会进行这种转化,这意味着使用 Enum, namespaces 等特性将不可行。

在工具上选择 @swc/wasm-typescript,因为这考虑到了简洁性,其它工具可能会将 Rust 和 Go 也添加到工具链中,而 @swc/wasm-typescript 只是一个包含 wasm 文件和一个用于绑定 js 文件的小包,并且 Swc 目前也被 Deno 用于同样的目的,还经过了实战测试

0 人点赞