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();
}
}
posted @   Ajanuw  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
历史上的今天:
2019-05-23 Dart: 编码和解码各种存档和压缩格式
2019-05-23 Dart: 执行shell命令
2019-05-23 运行Chrome浏览器如何添加Options
点击右上角即可分享
微信分享提示