提问者:小点点

全局范围的扩展只能直接嵌套在外部模块或环境模块声明中(2669)


我想在全局范围内存储我的NodeJS配置。

我试图遵循this=>扩展Node.js中的TypeScript全局对象和stackoverflow上的其他解决方案,

我创建了一个名为global.d.ts的文件,其中有以下代码

declare global {
    namespace NodeJS {
      interface Global {
          config: MyConfigType
      }
    }
  }

全局范围的扩展只能直接嵌套在外部模块或环境模块声明中。ts(2669)

但这样做很管用=>

declare module NodeJS  {
    interface Global {
        config: MyConfigType
    }
}

问题是,我需要导入文件myConfigType来键入配置,但第二个选项不允许这样做。


共1个答案

匿名用户

您可以指示该文件是一个模块,如下所示:

export {};

declare global {
    namespace NodeJS {
        interface Global {
            config: MyConfigType
        }
    }
}