TypeScript 允许模块的导出类型为无,

y4ekin9u  于 6个月前  发布在  TypeScript
关注(0)|答案(1)|浏览(54)

搜索词

allow export type module none

建议

对于 "module": "none" ,请允许 export type Foo = { ... }

用例

对于 ExtendScript 代码,tsc 不应该在生成的 js 文件中生成 export。对于 ts < 4.0,我可以使用 "module": "ESNext";对于 ts >= 4.0,我必须使用 "module": "none"(在 ts 4.0.2 中,"module": "ESNext" 将生成 export {},这是对 Extendscript 的错误),但我不能在 "module": "none" 中使用 export type ...,我使用 export type ... 在 Extendscript 和浏览器 js 代码之间重用类型。这阻止了我升级到 TypeScript 4.0。

示例

检查清单

我的建议满足以下准则:

  • 这不会对现有的 TypeScript/JavaScript 代码造成破坏性更改
  • 这不会改变现有 JavaScript 代码的运行时行为
  • 这可以在不根据表达式的类型发出不同的 JS 的情况下实现
  • 这不是一个运行时特性(例如库功能、带有 JavaScript 输出的非 ECMAScript 语法等)
  • 这个特性将与 TypeScript's Design Goals 的其他部分保持一致。
3pvhb19x

3pvhb19x1#

在TS v4的另一个相关案例中,仅在ts文件中有export type Foo = 'bar',输出js文件中将产生export {},而这在TS v3.8和v3.9中并未发生。

相关问题