搜索词
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 的其他部分保持一致。
1条答案
按热度按时间3pvhb19x1#
在TS v4的另一个相关案例中,仅在ts文件中有
export type Foo = 'bar'
,输出js文件中将产生export {}
,而这在TS v3.8和v3.9中并未发生。