【问题标题】:TS2304: Build cannot find name iterable in @types/jqueryTS2304:构建在 @types/jquery 中找不到可迭代的名称
【发布时间】:2018-02-12 00:10:44
【问题描述】:

我是一只试图学习新技巧(npm、TypeScript 等)的老狗。我正在使用带有 TypeScript 2.5 的 Visual Studio 2017(项目设置为“最新”)。我有一个非常基本的 .NET Core 2.0 项目,我刚刚开始研究并已将 @types/jquery (3.2.12) 添加到我的项目中,但它继续抱怨无法找到“Iterable”。我已经阅读了很多关于这个主题以及如何解决它的帖子,包括:

TypeScript error: node_modules/@types/three/three-core.d.ts(767,24): Error TS2304: Cannot find name 'Iterable'

https://github.com/DefinitelyTyped/DefinitelyTyped/issues/17239

TS-2304 Error - can not find name 'Iterable' in TypeScript while importing "jquery" in ".ts" file

我当前的 tsconfig.json 包含:

{
  "compilerOptions": {
    "lib": [
      "dom",
      "es5",
      "es2015.iterable"
    ],
    "target": "es5"
  },
  "exclude": [
    "node_modules"
  ]
}

我已经尝试了 libs + target 的所有排列都无济于事。我可以得到各种各样的其他错误,但这个核心错误永远不会消失。我花了更多时间尝试让 TypeScript 工作,而不是用普通的 JavaScript 编写模块。

这是 .NET Core 项目/模板问题吗?我如何知道 IDE 正在查看我的 tsconfig.json 文件(项目树中没有其他此类文件)。任何帮助将不胜感激。

【问题讨论】:

  • 我终于放弃了尝试让@types/jquery 在 3.0+ 版本上工作,并恢复到 jquery 2.0 版本只是为了让项目编译。不过,这是一个相当蹩脚的解决方案,我仍在努力弄清楚如何真正解决它。

标签: typescript asp.net-core visual-studio-2017


【解决方案1】:

我遇到了类似的问题,我不得不在我的tsconfig.json 中添加include 部分,我解决了这个错误。我有 jQuery 的 3.2.1 版本和 @types/jquery 的 3.2.12。

{
  "compileOnSave": true,
  "compilerOptions": {
    "lib": [ "dom", "es2015" ],
    "module": "commonjs",
    "sourceMap": true,
    "strict": true,
    "target": "es5"
  },
  "include": [
    "./Scripts/TypeScript/*"
  ],
  "exclude": [
    "node_modules",
    "wwwroot"
  ]
}

【讨论】:

  • 我会试一试,如果可行,我会指出接受的答案。谢谢!
  • 唉,我仍然有同样的问题,出于某种原因,VS 在解决方案视图中将 @types/jquery @3.1.12 标记为“无关”。
  • 将“es2015.iterable”添加到 lib 为我修复了它:"lib": [ "dom", "es5", "es2015.promise", "es2015.iterable" ]
【解决方案2】:

对于其他遇到此错误的人,当使用旧版本的 jQuery 时,您可以通过获取特定于版本的类型文件来解决问题。

由于各种原因,我不得不使用 jQuery 1.10.2。使用默认的 @types/jquery 给了我 3.2.16 版本。因此,我必须通过以下方式获得版本 1 的特定版本:

npm install @types/jquery@1.x

可以为 2.x 和 3.x 下载类似的版本特定类型

【讨论】:

    猜你喜欢
    • 2019-04-21
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 2017-08-11
    • 2017-08-23
    • 1970-01-01
    • 2019-03-11
    • 2017-11-03
    相关资源
    最近更新 更多