找不到'jquery'的类型定义文件

emb*_*yle 24 jquery visual-studio nuget-package twitter-bootstrap typescript

我刚刚在NuGet上运行更新来更新我的软件包.之后,我无法再编译,我收到上述错误.

jquery定义文件在我的项目中.但由于某种原因,引导程序定义文件无法再找到它.

自从我参与这个项目以来已经有一段时间了.我很确定在更新之前我的定义文件在一个完全不同的目录中.但是大多数代码和文件结构都是由Visual Studio NuGet包自动创建的.

这些链接或引用位于何处,以便可以正确找到定义文件?我是TypeScript的新手,所以如果你能详细解释或提供进一步阅读的链接,我们将不胜感激

代码和错误

文件树


编辑:

我发现这些被称为Triple-Slash指令.但那些页面并没有告诉我足够理解这个错误.

它告诉我<reference types="..."/>应该用于@types我相信.d.ts文件的包.我尝试将名称更改jquery.d.tsindex.d.ts.我试过把整个路径包括在内../jquery/jquery.d.ts.这些都没有奏效.

最后,我发现以下行angular.d.ts:

/// <reference path="../jquery/jquery.d.ts" />
Run Code Online (Sandbox Code Playgroud)

我将其复制到引导程序中index.d.ts,这似乎可以解决错误.

但这对我来说没有意义.首先,我正在尝试链接到定义文件,而不是TypeScript文件.所以我应该使用reference types,而不是reference path根据上面的文章.但是reference types不起作用.我在这里错过了什么?

文章还说:

只有在手动创建d.ts文件时才使用这些指令.

我没有写这些文件.他们来自NuGet,看起来是自动生成的.那我为什么需要改变呢?

bas*_*rat 14

他们来自NuGet,看起来是自动生成的.

不要将nuget用于类型定义.NPM是要走的路.

npm install @types/jquery -D 
Run Code Online (Sandbox Code Playgroud)

然后你可以:

<reference types="jquery"/>
Run Code Online (Sandbox Code Playgroud)

欢迎来到未来

  • "不要使用nuget进行类型定义.NPM是最佳选择." - 我想念Visual Studio中的TypeScript"刚刚工作"的日子,我不需要单独(和手动)下载和安装node,npm和`typings`.我不介意VS和TypeScript工具链会告诉我该怎么做 - 自从TypeScript 2.0发布以来,学习曲线已经变得更加陡峭,而且这种体验变得更加初具敌意. (16认同)
  • 因为虽然这个建议可能有效,但它实际上并没有回答"为什么我需要改变这个?"的问题. (3认同)