全局类型此类型没有索引签名 [英] type 'typeof globalThis' has no index signature

查看:47
本文介绍了全局类型此类型没有索引签名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

每当我尝试在TypeScript环境中向全局NodeJS全局命名空间添加函数时,都会收到此错误。

元素隐式具有‘any’类型,因为类型为‘typeof globalthis’ 没有索引签名

声明全局命名空间

declare global {
  namespace NodeJS {
    interface Global {
      signin(): string[]
    }
  }
}

所以如果我试一下

global.signin = () => {}

它返回一个

元素隐式具有‘any’类型,因为类型为‘typeof globalthis’ 没有索引签名

推荐答案

在我自己的情况下,直到后来我才意识到我声明的全局命名空间区分大小写。

而不是这个。在编辑我的问题之前,我的问题是namespace NODEJS

declare global {
  namespace NODEJS {
    interface Global {
      signin(): string[]
    }
  }
}

应该是这个

declare global {
  namespace NodeJS {
    interface Global {
      signin(): string[]
    }
  }
}

请注意NODEJS and NodeJS。在我做了这些更改之后,TypeScript对它很满意,而且它的工作方式符合我的预期。

这篇关于全局类型此类型没有索引签名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆