如何将名称空间导入/扩展到全局项目范围?

时间:2018-12-10 18:26:28

标签: typescript

我有一个名为base.d.ts的基本定义文件,里面有:

export namespace myModule {
  interface IRun {
    location: string;
    speed: number;
  }

  type IRunHome = () => void;
  // ... many more interfaces
}

现在在一个完全独立的项目中,我将拥有app.d.ts,它看起来像这样:

import * as myModule from '../../../../path/to/my/myModule';

declare global {
  namespace myModule extends ?????  {

  }
}

在这个项目中,我想要做的就是这样的事情。例如在someProject/doRun.ts

内部
export function doRun(run: myModule.IRun) {
  // ... code
}

我该如何完成?我尝试过糊涂,但发现了很多相互矛盾的信息。人们说只使用模块,而不使用名称空间,那么对所有myModle接口进行分组的正确方法是什么?我不想每次启动新项目时都必须导入/重新声明它们。

我几乎需要这样的东西:

declare global {
  namespace myModule {
    // Deconstruct????
    ...myModule
  }
}

0 个答案:

没有答案