我正在尝试为已经存在的库创建类型定义,并且出现问题来正确描述其结构。问题是嵌套的名称空间。在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处写入定义文件的示例;我建议您寻找与下次卡住时类似的东西。

关于javascript - 在 typescript 中为嵌套 namespace 创建类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38706899/

10-16 19:42