在node.js中扩展TypeScript全局对象

问题描述 投票:46回答:5

我有一个node.js应用,该应用将一些配置信息附加到global对象:

global.myConfig = {
    a: 1,
    b: 2
}

TypeScript编译器不喜欢这样,因为Global类型没有名为myConfig的对象:

TS2339:类型'Global'上不存在属性'myConfig'。

我不想这样做:

global['myConfig'] = { ... }

我如何将Global类型扩展为包含myConfig或只是告诉TypeScript关闭并信任我?我希望第一个。

我不想更改node.d.ts中的声明。我看到了此SO post并尝试了此操作:

declare module NodeJS  {
    interface Global {
        myConfig: any
    }
}

作为扩展现有Global接口的一种方法,但似乎没有任何作用。

node.js typescript global
5个回答
56
投票

我看到了这样的帖子,并尝试了这个:


34
投票

为了避免打字稿要求这样的东西:


13
投票

将以下文件放入我们项目的根目录已成功。


6
投票

唯一对我有用的是:


0
投票

复制我对another post的回答:

© www.soinside.com 2019 - 2024. All rights reserved.