我在 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/