在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