【发布时间】:2022-04-28 00:27:53
【问题描述】:
我正在使用一些 *.d.ts 文件,我在其中许多文件中看到以下两行:
//foo.d.ts
export = foo;
export as namespace foo;
declare var foo;
[...]
我可以理解,在前一个(export = foo)中,foo 是导出的东西。但是export as namespace foo是什么意思呢?应该如何从外面消费或使用?
在反应环境声明文件的情况下,它说:
export = React;
export as namespace React;
declare namespace React {
[...]
不能用以下方式导出 React 命名空间:
export declare namespace React { [...]
?
【问题讨论】:
-
因此,如果您将导出作为命名空间,则文件中的所有全局内容都将从外部看到,就像在命名空间中定义一样。同时,如果您不使用模块,您将可以直接访问所有全局变量。对吗?
-
不是全部,而是通过此命名空间导出的所有内容(如果您将其用作 UMD 模块)。
标签: typescript