typescript - 为什么 jquery.d.ts TypeScript 定义文件会抛出编译错误?

标签 typescript

我在 VSTS 2012 中有一个基本的 MVC4 Web 项目,可以使用 TypeScript。

我安装了这个版本的 TypeScript:TypeScriptSetup.0.8.1.msi

我的 jquery.d.ts 文件来自:http://typescript.codeplex.com/SourceControl/changeset/view/fe3bc0bfce1f#typings%2fjquery.d.ts

我在所有“索引签名”定义上遇到编译错误。第一个编译错误与 JQueryAjaxSettings 有关:

 headers?: { [key: any]: any; };

这里是错误:

Error 9 Index signatures may only take 'string' or 'number' as their parameter
C:\Development\TypeScript\ScriptGen\ScriptGen.Web\Scripts\jquery.d.ts 37 18 app.ts

编译器不喜欢将 key 定义为 any 类型。

我应该将 key 类型更改为字符串还是我还缺少其他内容?

最佳答案

您使用的是旧版本的 jquery.d.ts。从那时起,编译器已更改为不允许 any 索引器。任何较新版本的 jquery.d.ts(例如 this one)都可以正常工作,或者您可以根据需要将 any 更改为 string(已经有多个不过,您可能需要在此期间对该文件进行其他修复。

关于typescript - 为什么 jquery.d.ts TypeScript 定义文件会抛出编译错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13630578/

相关文章:

javascript - 如何限制复选框在某些条件后进行选择

angular - ngModel 不显示该值

javascript - 我应该在没有转译器的 Node.js 项目中使用哪个 TypeScript 目标和库?

Angular 6 - @Input 重复输出 4 次而不是一次

javascript - 每 2 分钟运行一次的 Nodejs 函数会随着时间的推移而丢失

javascript - 属性 'x' 是私有(private)的,只能在类 'y' 内访问

javascript - 在 Angular 6 中一一处理 http 响应

javascript - 使用 ngFor 遍历二维数组

typescript - TSLint 似乎不适用服装规则?

javascript - Angular2 + Typescript + FileReader.onLoad = 属性不存在