我有一个看起来像这样的d.ts文件
import * as lalo from './core';
/**
* Using module augmentation
*/
declare module './core' {
interface extraStuff {
(this: any): void;
}
}
export default lalo;
这是一个名为“模块/ lalo”的模块 所以当我像出口
import myLalo from "module/lalo"
myLalo可以访问d.ts文件中定义的所有类型(接口等)作为类型(名称空间?)访问所有方法和成员以及ALSO。
我需要在另一个文件lalo-toggle.ts中执行类似的操作;在原始模块和测试版之间切换
import _laloA from "module/lalo";
import _laloB from "module/lalo-beta";
export function getLalo() {
return Math.random() > 0.5 ? _laloA : _laloB;
}
问题是,lalo的方法和成员是在getLalo返回的对象中定义的,但是我无法访问类型,接口等。
有什么想法可以扩展定义的模块,以便lalo-toggle.ts的使用者可以使用它?