异常行为,无法找到名称为“Array”的内容。

5

我正在尝试在Angular 7中使用数组功能,但遇到了错误,提示无法找到名称'Array'。同样,我无法使用简单的数组方法,如push和pop。

Here is the sample

Angular7不允许我像这样初始化变量:

list: Array<number> = [1, 2, 3];

问题的根本原因是什么,如何解决?

更新: tsconfig.js

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "module": "es2015",
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "importHelpers": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2018",
      "dom"
    ]
  }
}

此外,代码在没有错误的情况下编译。

code compilation successfull

神秘的解决方法: 我通过更新Visual Studio Code成功解决了编译错误。问题主要出在Visual Studio Code更新上。

这与Angular无关,而是与TypeScript有关。请添加您的tsconfig文件并回答这个问题:代码在Webpack上是否编译时没有任何错误? - CaKa
@CanK,请检查更新部分。是的,代码已经成功编译。 - Hassaan
你能提供 StackBlitz 吗?或者在问题中发布相关代码。 - Prashant Pimpale
这对我来说更像是 VS Code 的问题。 如果构建过程没有任何错误...... 你可以通过从命令行运行 tsc 来缩小范围。 我不熟悉 VS Code,你能做像重新导入项目之类的事吗? - CaKa
4个回答

4
我也遇到了这个问题!我的tsc编译正常,但编辑器出现了问题,因为VS Code使用了不同版本的TS。
通过以下方式切换到您的配置所使用的版本:>Typescript: 选择TypeScript版本 参考我的编辑器是TS v3.4.3,项目是v3.5.3。

2

您可能在特定的Angular设置中遇到了问题。请查看此问题,其他人也遇到了类似的问题:Angular和Typescript:找不到名称

看看这是否有帮助:npm install --save-dev @types/core-js。它应该明确地安装类型定义。

希望能对您有所帮助!


数组引用问题已解决,但推送定义仍然缺失。 - Hassaan

1
我刚遇到了同样的问题,重启 VS Code 后错误消息消失了。
所以,正如其他人所说的那样,问题严格来说是由于编辑器无法正确识别令牌而导致的,原因我不知道。

0

更新您的VS Code到最新版本。这可能会解决您的问题,对我有用!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接