我试图让我的第一个angularjs项目在Visual Studio 2015中运行。工作正常,直到我尝试移动到Typescript。安装了DefinitelyTyped项目并获得了大量错误消息。
以下是重现方法:
添加
/// <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
知道我做错了什么或如何解决它?
答案 0 :(得分:34)
我检查了这个包,大多数错误似乎来自jquery.d.ts文件,它看起来很旧。该文件仍然使用“bool”而不是“boolean”,这是很久以前发生的重大变化。
我通过将“jQuery.Typescript.DefinitelyTyped”添加到项目中来修复它,该项目将jQuery.d.ts文件升级到正确解析的版本。一旦我这样做,所有的编译器错误都消失了。
这似乎是nuget包创作中的一个错误。我将考虑在github上打开一个问题。
希望对你有用。
更新:我在GitHub https://github.com/borisyankov/DefinitelyTyped/issues/5446
中打开了这个问题答案 1 :(得分:4)
我遇到了同样的问题,但上述解决方案对我来说并不奏效。 已经安装了jQuery.Typescript.DefinitelyTyped,因为angularjs.TypeScript.DefinetlyTyped包需要它。
我修理了:
感谢Michael提供提示。
答案 2 :(得分:4)
问题是由VS 2015中的NuGet引起的,因为它默认安装最旧版本的依赖项,在这种情况下安装AngularJS DT包的古老jQuery DT包,如here所述。
我通过这样做来解决这个问题更简单: