打字稿定义:仅当导入模块时才与JQuery合并

时间:2019-06-28 14:31:17

标签: jquery typescript-definitions

我正在使用一个jQuery插件,该插件没有打字稿定义文件,npm上也没有。

我已决定为此插件编写自己的定义(.d.ts)。尽管有一个烦人的方面我想修复(如果可能的话),但我基本上可以正常工作。

为了将plugin方法添加到jquery接口,我在单独的.d.ts文件中声明以下内容:

import {Options} from "foo";

declare global {
    interface JQuery {
        foo(options: Options): JQuery;
    }
}

这将导致foo方法以智能方式显示,即使我没有导入模块也是如此。理想情况下,我希望它仅在导入了“ foo”模块后才会显示。

我尝试了几种不同的方法,但是似乎都不起作用:

  • 在foo模块中声明接口(与foo的.d.ts在同一文件中)
  • 删除declare global {
  • declare global {块放置在foo的.d.ts文件中,但放在declare module语句之外。

0 个答案:

没有答案