【发布时间】:2017-06-02 16:32:18
【问题描述】:
我需要一些强类型的全局变量。
正如这里提到的:Extending TypeScript Global object in node.js,为了向global 变量添加字段,我需要添加一个扩展在node.d.ts 中指定的Global 接口的.d.ts 文件。
另外,正如巴萨拉特所说:
您的文件需要清除任何根级别的导入或导出。那 会将文件转换为模块并将其与全局断开连接 类型声明命名空间。
现在,我需要在 Global 接口上有字段,其类型是我创建的自定义接口:
declare namespace NodeJS{
interface Global {
foo: Foo
bar: Bar
}
}
我非常不愿意使用any 类型。
我可以将所有接口声明移动/复制到此声明文件,但这对我来说是一个糟糕的解决方案,因为 Foo 和 Bar 反过来又聚合了其他接口的许多字段,包括 Moment 等第三方接口。
我需要解决这个悖论
【问题讨论】:
-
您找到解决方案了吗?
标签: javascript node.js oop typescript module