我正在转换一个TinyMCE插件,我写的是用插件API的属性“重载”tinymce对象。
例如,在init上,插件调用:
import * as tinymce from 'tinymce';
tinymce.pluginName = pluginAPI
但是,由于pluginName
不是tinymce
类型的有效属性,因此打字稿会抱怨。
我一直在寻找超载的方法,但似乎无法找到在这种情况下有效的方法。
答案 0 :(得分:0)
总是值得展示完整的代码。目前还不清楚代码中的tinymce
究竟是什么。但是,让我们假设它是这样的:
从' tinymce';
导入{tinymce}然后您可以创建一个.d.ts
声明文件,其中包含该对象的扩展名:
declare module "tinymce" {
export interface tinymce {
pluginName: string;
}
}
如果您未在tsconfig(* .ts)中按掩码包含文件,那么您必须引用该声明文件:
/// <reference path="./tinymce.d.ts" />