gpt4 book ai didi

javascript - 如何强制 TypeScript 导出到 JS 输出的末尾?

转载 作者:行者123 更新时间:2023-11-27 22:46:10 25 4
gpt4 key购买 nike

我使用了很多如下所示的导出语句,通常是在文件底部累积模块的导出:

export { foo1 as bar1, foo2 as bar2, ... }

最近我了解到...

let foo : number = 0;
export { foo as bar }

...与...完全不同

let foo : number; foo = 0;
export { foo as bar }

...因为后者在 exports.bar 中传递了未定义的内容。发生这种情况是因为编译后的 JavaScript 在赋值之前有 exports.bar = foo 的导出语句。我发现这很难直观。我阅读了 TypeScript 模块页面,但我似乎错过了这种行为的描述。在那里吗?

有没有办法强制输出的导出语句位于底部而不是紧接在声明之后?谢谢。

最佳答案

这听起来更像是 TypeScript 中的一个错误。为了供将来引用,TypeScript 1.8 编译了以下代码:

let foo : number; foo = 0;
export { foo as bar }

进入这个 JavaScript:

"use strict";
var foo;
exports.bar = foo;
foo = 0;

我用 TypeScript 2.0 beta 尝试过,看起来可以解决这个问题:

"use strict";
var foo;
exports.bar = foo;
exports.bar = foo = 0;

关于javascript - 如何强制 TypeScript 导出到 JS 输出的末尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38403683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com