在node.js中扩展TypeScript全局对象
我有一个node.js应用程序,该应用程序将一些配置信息附加到该global对象:
global.myConfig = { a: 1,
b: 2
}
TypeScript编译器不喜欢这样,因为该Global类型没有名为的对象myConfig:
TS2339:类型“ Global”上不存在属性“ myConfig”。
我不想这样做:
global['myConfig'] = { ... }如何扩展Global类型以包含myConfig或只是告诉TypeScript关闭并信任我?我希望第一个。
我不想更改其中的声明node.d.ts。我看到了这样的帖子,并尝试了这个:
declare module NodeJS { interface Global {
myConfig: any
}
}
作为扩展现有Global接口的一种方法,但似乎没有任何效果。
回答:
我看到了这样的帖子,并尝试了这个:
您可能有类似以下内容vendor.d.ts:
// some import // AND/OR some export
declare module NodeJS {
interface Global {
spotConfig: any
}
}
您的文件需要 清除 任何根级别import或exports。这将把文件变成一个 模块, 并将其与 全局类型声明名称空间 断开连接。
更多:https
:
//basarat.gitbooks.io/typescript/content/docs/project/modules.html
以上是 在node.js中扩展TypeScript全局对象 的全部内容, 来源链接: utcz.com/qa/416521.html

