我有一个名为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
}
}