使用新属性重载外部类型

时间:2018-04-06 18:02:28

标签: typescript

我正在转换一个TinyMCE插件,我写的是用插件API的属性“重载”tinymce对象。

例如,在init上,插件调用:

import * as tinymce from 'tinymce';

tinymce.pluginName = pluginAPI

但是,由于pluginName不是tinymce类型的有效属性,因此打字稿会抱怨。

我一直在寻找超载的方法,但似乎无法找到在这种情况下有效的方法。

1 个答案:

答案 0 :(得分:0)

总是值得展示完整的代码。目前还不清楚代码中的tinymce究竟是什么。但是,让我们假设它是这样的:

从' tinymce';

导入{tinymce}

然后您可以创建一个.d.ts声明文件,其中包含该对象的扩展名:

declare module "tinymce" {
  export interface tinymce {
    pluginName: string;
  }
}

如果您未在tsconfig(* .ts)中按掩码包含文件,那么您必须引用该声明文件:

/// <reference path="./tinymce.d.ts" />