簡體   English   中英

在模塊中定義全局function

[英]Define global function in module

我可以在非模塊文件中定義全局 function:

腳.ts:

function foo() {}

我可以從文件 bar.ts 調用 function 而無需導入 foo.ts:

酒吧.ts:

foo(); // call global function foo

但是,一旦我將另一個模塊導入 foo.ts,foo.ts 就會變成一個模塊,全局定義就會消失。 嘗試調用 foo 時導致 bar.ts 出錯。

如何在不導入它的情況下在整個項目中全局的模塊中定義全局 function。

編輯:

我知道declare global語法,但在那種情況下,我需要將每個 function 簽名寫兩次:一次是全局聲明它,一次是將它綁定到globalThis 我正在尋找樣板更少的東西。

看起來在這種情況下確實需要declare global 我發現的唯一(詳細)解決方案是:

declare global {
  function foo(): void;
}

globalThis.foo = () => {};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM