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

问题描述

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

声明全局命名空间

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

所以如果我试一下

global.signin = () => {}

它返回一个

推荐答案

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

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

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

应该是这个

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

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

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

07-29 13:31
查看更多