Node.js 新特性:直接运行 TypeScript 文件!

847 阅读1分钟

好消息!Node.js 现在可以直接运行 TypeScript 文件了! 🎉 只需设置实验性标志 --experimental-strip-types,Node.js 就会自动将 TypeScript 代码转换成 JavaScript 代码。

node --experimental-strip-types index.ts

为什么要移除类型?

顾名思义,类型移除就是将 TypeScript 代码中的所有类型信息都移除,将其转换成 JavaScript 模块。

例如,以下 TypeScript 代码:

const foo: string = "foo";

会被转换成:

const foo = "foo";

其他运行时也会将一些 TypeScript 特有的功能转换成 JavaScript,例如枚举,因为 JavaScript 中没有枚举。这个特性目前还没有实现,这意味着暂时还不能使用 Enumnamespaces 等功能。

为什么选择 @swc/wasm-typescript?

选择 @swc/wasm-typescript 的原因很简单:它简单易用。

其他工具要么需要 Rust,要么需要 Go,而 @swc/wasm-typescript 只是一个包含 wasm 文件和 JavaScript 绑定文件的小包。 Deno 也在使用 Swc 来实现同样的功能,它已经经过了实战考验。

未来,官方计划在原生层实现这个功能。感谢 @kdy1 发布了 Swc 版本!


⚠️ 具体的实现细节和限制,请参考 typescript.md 文件中的 PR 变更。