我知道我已下载的定义文件存在一些问题。例如,这里有以下$ .ajax调用:
$.ajax("/Admin/xx",
{
cache: false
})
请注意,我需要先指定网址。我记得读到这被理解为错误。
从哪里可以获得最新的JQuery定义文件。任何人都有任何关于微软什么时候会对他们现在拥有的Alpha版Alpha版本进行更新的消息?
答案 0 :(得分:12)
您可以在这里找到TypeScript的repo中的jQuery定义的分支:
它包含了许多原始修复,包括ajax()重载。 一旦TypeScript团队开始接受拉取请求,我将推送修复程序。
对TypeScript本身的更新:它不是alpha,而是预览。在回购中正在制作0.8.1版本,他们表示他们希望2013年的最终版本。
答案 1 :(得分:4)
更新! Definitely Typed project现在是获取定义的正确位置 - 而且Microsoft现在积极参与绝对类型化。
可以在TypeScript Codeplex网站上找到最新的官方typing for jQuery。 (截至今天链接正确)。
我认为目前的定义是:
ajax(url: string, settings: JQueryAjaxSettings);
这是正确的,但它不是ajax
函数的唯一变体,它应该真的重载了以下的定义:
ajax(settings: JQueryAjaxSettings);
您可以通过在TypeScript jquery.d.ts定义之上添加自己的扩展来在您自己的代码中添加对此的支持,并在jquery.d.ts文件更新时删除它 - 当它是,您将获取有关重复定义的构建警告,以提醒您执行此操作。
declare interface JQueryStatic {
ajax(settings: JQueryAjaxSettings);
}
答案 2 :(得分:0)
从DefinitelyTyped, jQuery 1.10.x / 2.0.x 的声明文件在这里:
https://github.com/borisyankov/DefinitelyTyped/blob/master/jquery/jquery.d.ts
..或原始形式:
https://raw.githubusercontent.com/borisyankov/DefinitelyTyped/master/jquery/jquery.d.ts
Google Hosted Libraries分发(截至今天) jQuery 2.1.3 ,这是我更喜欢使用的。我不知道API在2.0和2.1之间的变化程度。但是,如果您发现TypeScript应用程序中存在错误,那么可能是因为最新版本的jQuery中的一个小API更改未传播到上面提供的声明文件。