Node.js 实验性支持 TypeScript:可自动将 TS 代码转换为 JS 代码


Node.js 合并了为 TypeScript 添加实验性支持的 PR。

https://github.com/nodejs/node/pull/53725

根据 PR 的描述,开发者只需配置实验性 flag--experimental-strip-types就可以执行 TypeScript 文件。

Node.js 会将 TypeScript 代码自动转译为 JavaScript 代码。在转译过程中,不会执行类型检查,类型会被丢弃——Node.js 团队称之为"type stripping"(类型剥离)。

类型剥离意味着删除所有types,转换 JavaScript 模块中的输入。

比如下面的 JavaScript 代码

const foo: string = "foo";

会转译为:

const foo = "foo";

此外,该实验性功能目前存在以下限制:

  • 无法对枚举、命名空间等类型进行转换

  • 没有为 .ts 文件添加 .js 扩展

  • 无法在 node_modules 中运行 TS

Node.js 团队介绍了提供该功能的动机:“让用户能够执行 TypeScript 文件对于推动生态系统向前发展至关重要。我们必须承认用户希望在不安装外部依赖项或加载程序的情况下运行node foo.ts。”


相關推薦

2022-05-25

TypeScript 4.7 现已正式发布。 新特性概览 Node.js 中的 ECMAScript 模块支持 模块检测控制 括号内元素访问的控制流分析 改进的对象和方法中的函数推理 实例化表达式 infer类型变量的 extends Constraints 类型参数的 Opt

2022-11-28

5-19].x 和 16[10-12].x 等版本的支持。 Angular 15 现在仅支持 TypeScript 4.8 或更早版本。 在应用程序项目目录中,运行命令:ng update @angular/core@15 @angular/cli@15使您的应用程序得到 Angular v15 支持的强化。 @keyframes 名称格式已更改为“

2023-09-10

移。更令人振奋的是,Bun的启动速度可达Node的4倍,运行TypeScript的速度比esbuild+Node快5倍!原因在于其使用了Apple开源的WebKit引擎,而不是Node常见的V8。 bun index.ts Bun内置对TypeScript和JSX的支持,省去了编译配置的麻烦。同时它

2022-05-13

TypeScript 4.7 首个 RC 版本已发布。该版本主要新功能如下: Node.js 中的 ECMAScript 模块支持 模块检测控制 计算属性的控制流分析 改进的对象和方法中的函数推理 实例化表达式 extendsinfer 类型变量的约束 类型参数的可选

2022-11-30

导出 #20203 / #20204 [FEATURE] 预览类型:更新到 Typescript 4.8 更新说明:https://github.com/emberjs/ember.js/releases/tag/v4.9.0

2021-11-18

11月17日,微软发布了 TypeScript 4.5 正式版本 ,4.5 正式版本和 RC 版本在功能上并没有什么改动,除了添加关于新 JSDoc 特性的注释 ,不过这个特性也是 RC 版本的新功能,只是当时没有写出来。 TypeScript 4.5 正式版新

2024-04-03

也有诸多亮点。全新的bun build --target=node命令让你轻松将TypeScript代码打包成可在Node.js下运行的文件。而bun build --compile命令更是一个黑科技,它能将你的JS/TS代码连同SQLite数据库一起编译成一个单文件可执行程序! 说到SQLite,Bun

2023-04-06

效、可扩展的 Node.js 服务器端应用程序的框架。它使用 TypeScript 和 JavaScript 构建,并结合了 OOP(面向对象编程)、FP(功能编程)和 FRP(功能反应式编程)等元素。 Nest.js 9.4 正式发布,该版本更新内容如下: 功能 microservic

2022-09-10

。.env、 jsconfig.json 和 tsconfig.json 文件现在可以热重载 TypeScript 自动安装:Next.js 内置了对自动配置 TypeScript 的支持。以前,将 TypeScript 添加到现有项目需要手动安装必要的依赖项。如今添加一个 .ts 文件来自动配置 TypeScript 和

2022-08-29

Deno 是一个简单、现代和安全的 JavaScript 和 TypeScript 的运行时,它使用 V8 并以 Rust 构建。 Deno 1.25 已发布,值得关注的更新包括: deno init 子命令 用 Deno 启动一个新的项目一直很简单:你只需要一个文件就可以开始了。不需要

2023-05-18

新版本。 最新版本的 Bun 现在有一个内置的 JavaScript 和 TypeScript 捆绑器和简化器,可以用它来捆绑前端应用程序或将你的代码捆绑成一个独立的可执行文件。 Bun 0.6.0 也一直在忙着提高性能和修复 bug:writeFile()在 Linux 上的速度

2022-06-14

Web 框架。 根据官网的介绍,Fresh 是面向 JavaScript 和 TypeScript 开发者的全栈现代 Web 框架,可帮助他们轻松创建高质量、高性能、稳定性好,以及支持定制的 Web 应用。 Fresh 核心是路由框架和模板引擎的组合,支持在服务器上

2023-03-24

Deno 是一个简单、现代和安全的 JavaScript 和 TypeScript 的运行时,它使用 V8 并以 Rust 构建。 Deno 1.32 正式发布,值得关注的更新包括: 增强 Node.js 的兼容性 Deno 在提高与 Node.js 的兼容性方面继续取得重大进展,提供了更顺畅的整

2022-08-11

t Testing 状态。 Live Unit Testing 现在支持 Razor 文件。 TypeScript 和 JavaScript 开发 JavaScript 和 TypeScript 文件项目现在已从程序分析中排除,除非它们由 tsconfig.json 或 jsconfig.json 文件引用。 结果应在具有大量 TypeScript 和 JavaScrip