typescript 如何定义全局变量?

比如nodejs环境里面,有个全局变量 global,我之前不用typescript的时候,我都是直接定义在里面。
比如redis实例啊,数据库实例啊,都是定义为全局实例,到了typescript完全不知道怎么弄了。

阅读 24.5k
3 个回答

创建一个UUU.d.ts文件(当然了,理论上名字可以随便起):

declare var  UUU:any

这样就创建了一个全局变量UUU。

clipboard.png

我好像自己解决了。
我把全局对象写成一个单例模式,每个模块都引入就行了。

我之前搜到这个答案,感觉不满意:https://segmentfault.com/q/10...

有更好的答案可以补充~

全局变量要尽量避免使用,你可以使用单例模式引入实例,例如


    class DataMgr {
    static instance: DataMgr
    static getInstance() {
        if (!DataMgr.instance) {
            DataMgr.instance = new DataMgr()
        }
        return DataMgr.instance
    }
}

你想使用实例的时候引入该模块,DataMgr.getInstance()即可