Javascript 声明既是类型又是值的typescript模块
我正在为WordPressJavascript 声明既是类型又是值的typescript模块,javascript,wordpress,typescript,typescript-typings,Javascript,Wordpress,Typescript,Typescript Typings,我正在为WordPresswp.customizeAPI打字。然而,我遇到了一个障碍,不知道如何申报顶级出口 问题如下: wp.customize扩展了一个名为Values的类,该类在“模块”中定义。除此之外,这个类还有一个调用签名(因为它实际上不是一个typescript类,而是无数可怕的JS黑客)。因此,您需要能够调用wp.customize() wp.customize具有成员变量和函数。因此这些需要是可访问的,例如,wp.customize.get() wp.customize还包含类
wp.customize
API打字。然而,我遇到了一个障碍,不知道如何申报顶级出口
问题如下:
扩展了一个名为wp.customize
的类,该类在“模块”中定义。除此之外,这个类还有一个调用签名(因为它实际上不是一个typescript类,而是无数可怕的JS黑客)。因此,您需要能够调用Values
wp.customize()
具有成员变量和函数。因此这些需要是可访问的,例如,wp.customize
wp.customize.get()
还包含类和类型,如wp.customize
,因此您需要能够设置
// index.d.ts
import {Customize} from './Customize';
declare const customize: Customize;
export = customize;
// Customize.d.ts
export interface Customize extends Values {
Setting: typeof Setting;
get(): any;
}
理想情况下,我希望以与其他WordPress打字相同的方式导入打字,但这并非严格必要:
declare const wp: {
customize: typeof import("wordpress__customize");
};
但是,我不能使用类型,例如wp.customize.Setting
。我收到错误TS2503:找不到命名空间“wp”。
declare const wp: {
customize: typeof import("wordpress__customize");
};