为typescript中的嵌套命名空间创建打字员

Create typings for nested namespaces in typescript

本文关键字:命名空间 创建 打字员 嵌套 typescript      更新时间:2023-09-26

我正在尝试为已经存在的库创建打字法定义,并遇到了正确描述其结构的问题。问题是嵌套的命名空间。在JavaScript中,我的方法的全名如下:

NameSpace1.NameSpace2.NameSpace3.MethodName()

但我无法创建正确的d.ts定义文件。。。我尝试过不同的组合,export interfaceexport module用于嵌套命名空间。。。但什么都不管用。唯一不会引发任何错误的构造如下:

declare namespace NameSpace1 {
}

但这还不够。。。你知道如何在TypeScript定义中正确描述这样一个嵌套的命名空间吗?

declare namespace NameSpace1.NameSpace2.NameSpace3 {
  function MethodName(): void;
}

关于如何在https://github.com/DefinitelyTyped/DefinitelyTyped;我建议你下次陷入困境时找一些类似的东西。