AngularJS 绝对类型 Visual Studio 2015

标签 angularjs visual-studio-2015 typescript1.5 definitelytyped

我正在尝试让我的第一个 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/

相关文章:

javascript - 防止链接的默认行为

angularjs - $location/html5和hashbang模式切换/链接重写

c# - 暂时将 visual studio 中的数据库连接从服务器数据库更改为本地数据库

tfs - Visual Studio 2015 - checkin 到 TFS 中的不同分支

c# - 无法从 Visual Studio 连接到 Mac 上的 Xamarin

typescript - 为什么在 TypeScript 中默认导出接口(interface)有限制?

javascript - 如何聚合多个字段的ngMessage

Angular2 + Jspm.io : reflect-metadata shim is required when using class decorators

javascript - 根据范围内的数据在 Angular 中打开链接