我正在尝试让我的第一个 angularjs 项目在 Visual Studio 2015 中工作。在我尝试转移到 Typescript 之前,一切正常。安装了DefinitelyTyped项目并收到很多错误消息。
以下是重现它的方法:
- 创建一个空的 ASP.NET 4.5.2 应用程序
- Nuget AngularJS 核心 1.4.4
- Nuget AngularJS.TypeScript.DefinitelyTyped 4.1.1(包括 jQuery 0.0.1)
- 添加一个空的 TypeScript 文件
添加
/// <reference path="typings/angularjs/angular.d.ts" />
到该文件。
此时我收到了 444 错误,开头为
Error TS2411 Property 'find' of type '{ (selector: string): IAugmentedJQuery; (element: any): IAugmentedJQuery; (obj: JQuery): IAugment...' is not assignable to string index type 'HTMLElement'. TypeScript Virtual Projects l:\M\eigene dateien\visual studio 2015\Projects\WebApplication3\WebApplication3\Scripts\typings \angularjs\angular.d.ts
知道我做错了什么或如何解决它吗?
最佳答案
我检查了这个包,大多数错误似乎来自 jquery.d.ts 文件,它看起来很旧。该文件仍然使用“bool”而不是“boolean”,这是很久以前进行的重大更改。
我通过向项目添加“jQuery.Typescript.DefinitelyTyped”来修复此问题,这将 jQuery.d.ts 文件升级到可以正确解析的版本。一旦我这样做了,所有编译器错误就消失了。
这似乎是 nuget 包创作中的一个错误。我会考虑在 github 上提出一个问题。
希望这对您有用。
更新:我在 GitHub 中打开了这个问题 https://github.com/borisyankov/DefinitelyTyped/issues/5446
关于AngularJS 绝对类型 Visual Studio 2015,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32088619/