比如nodejs环境里面,有个全局变量 global,我之前不用typescript的时候,我都是直接定义在里面。
比如redis实例啊,数据库实例啊,都是定义为全局实例,到了typescript完全不知道怎么弄了。
比如nodejs环境里面,有个全局变量 global,我之前不用typescript的时候,我都是直接定义在里面。
比如redis实例啊,数据库实例啊,都是定义为全局实例,到了typescript完全不知道怎么弄了。
我好像自己解决了。
我把全局对象写成一个单例模式,每个模块都引入就行了。
我之前搜到这个答案,感觉不满意:https://segmentfault.com/q/10...
有更好的答案可以补充~
全局变量要尽量避免使用,你可以使用单例模式引入实例,例如
class DataMgr {
static instance: DataMgr
static getInstance() {
if (!DataMgr.instance) {
DataMgr.instance = new DataMgr()
}
return DataMgr.instance
}
}
你想使用实例的时候引入该模块,DataMgr.getInstance()即可
创建一个
UUU.d.ts
文件(当然了,理论上名字可以随便起):这样就创建了一个全局变量UUU。