【发布时间】:2020-08-29 22:09:59
【问题描述】:
我可以在非模块文件中定义一个全局函数:
foo.ts:
function foo() {}
我可以在不导入 foo.ts 的情况下从文件 bar.ts 调用该函数:
bar.ts:
foo(); // call global function foo
但是,一旦我将另一个模块导入 foo.ts,foo.ts 就会变成一个模块,并且全局定义消失了。尝试调用 foo 时导致 bar.ts 出错。
如何在不导入的情况下在整个项目中全局的模块中定义全局函数。
编辑:
我知道declare global 语法,但在这种情况下,我需要编写每个函数签名两次:一次是全局声明它,一次是绑定到globalThis。我正在寻找样板更少的东西。
【问题讨论】:
-
会this 帮忙吗?
-
我看到了“声明全局”的技巧,但是你必须写两次签名。
标签: typescript