模块: add --experimental-strip-types 由 marco-ippolito • 拉取请求 #53725 • nodejs/node

主要观点:可通过设置实验标志--experimental-strip-types来执行 TypeScript 文件,Node.js 会将 TypeScript 源代码转译为 JavaScript 源代码,转译过程中不进行类型检查且丢弃类型。
关键信息:

  • 有相关 roadmap 参考nodejs/loaders#217
  • 推动生态前进需让用户能执行 TypeScript 文件,这在所有调查中都有被请求。
  • 类型剥离即去除所有类型,将输入转为 JavaScript 模块,如const foo: string = "foo";变为const foo = "foo";
  • 其他运行时也会将某些仅 TypeScript 特性转译为 JavaScript,如枚举(在 JavaScript 中不存在)。
  • 此 PR 初始不进行转换,意味着不能使用Enumnamespaces等。
  • 选择@swc/wasm-typescript是因为简单,无需添加 rust 或 go 到工具链,是个小包裹且经 Deno 测试,未来有望在原生层实现,感谢[@kdy1]发布 swc 版本。
    重要细节:具体实现细节和限制可参考typescript.md中的 PR 更改。
阅读 10
0 条评论