如何在全局环境中扩充模块?

时间:2017-08-04 11:44:38

标签: typescript module typescript2.0

我有一个特定的打字文件,它具有这样的现代形状。

// something.d.ts

declare function something(...): ...;
declare namespace something {
  interface A { ... }
  interface B { ... }
}

export = something;
export as namespace something;

我正在尝试在不是模块的文件中使用此模块,因此官方模块扩充不起作用。我的任务是向something命名空间根添加另一个函数,向A接口添加另一个函数。

我试图利用命名空间合并,但似乎它不起作用,因为它不是合并它认为我的声明是唯一的,所以来自打字文件的原始内容根本不可见。

// myGlobalFile.ts

declare namespace something {
  function extraFunction();

  interface A {
    extraFunctionOnA();
  }
}

就接口扩充而言,我也尝试过像

这样的愚蠢语法
// myGlobalFile.ts

interface something.A {
  extraFunctionOnA();
}

但当然这是一个语法错误,所以它无法正常工作,但它代表了我目标的一半。

我如何在处理全局范围的文件中扩充此模块?

0 个答案:

没有答案