nodejs在typescript項目中申明全局變量

這樣做的目的是避免循環引用,編寫多餘的類型文件

//global.d.ts

import type { A } from "./a";
import type { B } from "./b";

declare global {
  var a: A;
  var b: B;
}
//index.ts

import { A } from "./a";
import { B } from "./b";

global.a = new A();
global.b = new B();

a.a();
b.b();
//a.ts

export class A {
  a() {
    console.log('a');
    b.b();
  }
  a2() {
    console.log('a2');
  }
}
//b.ts

export class B {
  b() {
    console.log('b');
    a.a2();
  }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章