在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

}

}

您的文件需要 清除 任何根级别importexports。这将把文件变成一个 模块, 并将其与 全局类型声明名称空间 断开连接。

更多:https

:

//basarat.gitbooks.io/typescript/content/docs/project/modules.html

以上是 在node.js中扩展TypeScript全局对象 的全部内容, 来源链接: utcz.com/qa/416521.html

回到顶部