我需要一些强类型的全局变量.
如下所述:在node.js中扩展TypeScript Global对象,为了向global
变量添加字段,我需要添加一个扩展Global
node.d.ts中指定的接口的.d.ts文件.
另外,正如Basarat所说:
您的文件需要清除任何根级别导入或导出.这会将文件转换为模块并将其与全局类型声明命名空间断开连接.
现在,我需要在Global
接口上有字段,其类型是我创建的自定义接口:
declare namespace NodeJS{ interface Global { foo: Foo bar: Bar } }
我非常不愿意使用这种any
类型.
我可以将所有接口声明移动/复制到此声明文件,但这对我来说是一个糟糕的解决方案,因为Foo和Bar反过来会聚合其他接口的许多字段,包括Moment等第三方接口.
我需要一个解决这个悖论的方法