Typescript:如何引用jquery-easyui库?

Typescript: How to reference jquery-easyui library?

我是打字稿的新手。我正在尝试使用 jquery-easyui 库,它在 DefintelyTyped 存储库中没有 d.ts 定义文件。我没有时间(或技能)为该库编写 d.ts 文件。我将如何在打字稿文件中使用它?

在 test.ts 文件中,我尝试执行以下操作:

/// <amd-dependency path="libs/easyui/jquery.easyui.min.js">
function newUser(){
    $('#dlg').dialog('open').dialog('setTitle','New User');
    ... etc. 

但是 webstorm 将“$”符号报错为 "unresolved method or function $()"。尝试用参考替换 amd-dependency .. 但仍然没有用。库路径正确。如果我将这段代码放在 .js 文件中,它就可以正常工作。

第 1 步是包含 jQuery 的声明文件。这至少会让你输入香草 jQuery 的信息。将以下内容放在使用 jQuery

的 JS 文件的顶部
/// <reference path='jquery.d.ts' />

接下来您需要创建一个文件 jquery.easyui.d.ts 并添加以下内容:

interface JQuery {
    dialog: any;
}

上面的代码表示JQuery接口(最初在jquery.d.ts中定义)有一个名为dialog的成员,它可以是任何类型(在本例中是一个函数)。由于您使用 any,因此您没有获得任何类型帮助,但至少它现在可以编译。我不知道 easyui 添加了什么 jQuery,但您需要将所有新方法添加到此接口。

最后,在 jquery.easyui.d.ts 的第一个评论下方添加另一个 <reference> 评论。每当编译器抱怨 easyui 中没有定义某些内容时,请将其添加到您的 jquery.easyui.d.ts 文件中。

一旦您对语法更加熟练,就可以充实 jquery.easyui.d.ts 文件中的类型并将它们贡献给 definitelytyped 项目!