使用带有Typescript的JQuery插件

时间:2016-11-11 18:56:15

标签: javascript jquery typescript

我有一个JQuery插件(mixItUp),我正在尝试使用Typescript,它没有自己的* .d.ts文件。

如何使用打字稿?

我已经制作了自己的mixItUp.d.tds文件,其中包含以下内容:

interface JQuery
{
    mixItUp():any;
}

在我尝试使用mixItUp的模块中,我使用以下代码:

$('#mySelector').mixItUp();

它编译得很好,我得到了mixItUp的intellisense,所以它不知何故它在没有我参考的情况下拾取了mixItUp.d.ts文件。

在html中,我在jquery中加载,然后在此模块之前加载非打字稿(Pure js)mixItUp库,所以我知道jquery和mixitup在那个时间点确实存在。

但是,当我加载页面时,我收到以下错误消息:

$(...).mixItUp is not a function(…)

我发现的大多数指南似乎都使用了我所理解的引用* .d.ts文件的旧方法。

有人可以解释使用带打字稿的JQuery插件的正确方法,以及如果可能的话如何引用非打字稿库(我假设该技术类似)。

感谢。

1 个答案:

答案 0 :(得分:0)

如果它在运行时发生,它很可能不是由Typescript引起的,因为TS只是编译成JS。由于TS本身不了解您的库,只能通过您的接口获取有关它的信息,因此它按原样编译该调用(可以通过查看Developer控制台中的输出或类似信息来证明)。

因此,确保在执行代码之前(但在jQuery之后)正确加载mixItUp并且它应该可以正常工作(假设您正在使用的jQuery版本受插件支持)