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

标签 jquery twitter-bootstrap visual-studio typescript nuget-package

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

jquery 定义文件在我的项目中。但是由于某种原因, Bootstrap 定义文件再也找不到它了。

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

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

code and error

file tree


编辑:

我发现这些叫做 Triple-Slash Directives .但是那些页面并没有告诉我足够的信息来理解这个错误。

它告诉我<reference types="..."/>应该用于 @types我相信的包.d.ts文件是。我尝试更改 jquery.d.ts 的名称至 index.d.ts .我试过包括整个路径,例如 ../jquery/jquery.d.ts .这些都不起作用。

最后,我在angular.d.ts中找到了下面一行:

/// <reference path="../jquery/jquery.d.ts" />

我将其复制到 Bootstrap 中 index.d.ts这似乎修复了错误。

但这对我来说没有意义。首先,我试图链接到定义文件,而不是 TypeScript 文件。所以我应该使用 reference types , 不是 reference path ,根据上述文章。但是reference types不起作用。我在这里缺少什么?

文章还说:

Use these directives only when you’re authoring a d.ts file by hand.

这些文件不是我写的。它们来自 NuGet,看起来是自动生成的。那么为什么我需要更改它?

最佳答案

They came from NuGet and look to be automatically generated.

不要将 nuget 用于类型定义。 NPM 是必经之路。

npm install @types/jquery -D 

然后你可以:

<reference types="jquery"/>

欢迎来到 future 🌹

关于jquery - 找不到 'jquery' 的类型定义文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41989621/

相关文章:

jquery - Ui slider 一次侧 slider

javascript - 如何将一个 VS2013 项目中的通用 typescript 代码共享到一个单独的 VS2013 项目中

c++ - 非常量引用绑定(bind)到临时的 Visual Studio 错误?

javascript - 如何阻止页面之间简单的 javascript 冲突?

jquery - 如何通过jquery改变父类的背景颜色

c++ - OpenCV 奇怪的内存损坏

javascript - Angular 等价于 jQuery Submit()

javascript - Laravel Ajax 面板

javascript - 为什么 mouseover 没有检测到 JQuery 中另一个 div 上的其他 div?

jquery - 侧面导航栏没有响应