繁体   English   中英

TS2304:内部版本无法在@ types / jquery中找到可迭代的名称

[英]TS2304: Build cannot find name iterable in @types/jquery

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

TypeScript错误:node_modules/@types/three/three-core.d.ts(767,24):错误TS2304:找不到名称“ Iterable”

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

TS-2304错误-在“ .ts”文件中导入“ jquery”时,在TypeScript中找不到名称“ Iterable”

我当前的tsconfig.json包含:

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

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

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

我有一个类似的问题,我必须在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"
  ]
}

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

由于各种原因,我必须使用jQuery 1.10.2。 使用默认的@ types / jquery给了我3.2.16版本。 因此,我必须通过执行以下操作来获取特定于版本1的版本:

npm install @types/jquery@1.x

同样,可以为2.x和3.x下载特定于版本的类型

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM