异常行为,找不到名称“数组”

时间:2018-12-16 10:38:40

标签: angular typescript ecmascript-6 visual-studio-code

我正在尝试在angular 7中使用数组功能,但遇到错误cannot find name '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代码来解决编译错误。这个问题尤其与Visual Studio代码更新有关。

4 个答案:

答案 0 :(得分:0)

您的特定Angular设置可能有问题。看一下这个问题,其他人也遇到类似的问题:Angular and Typescript: Can't find names

查看是否对您有帮助:npm install --save-dev @types/core-js。它应该显式安装类型定义。

希望有帮助!

答案 1 :(得分:0)

我遇到了同样的问题,重新启动VS Code 后,错误消息消失了。

因此,正如其他人所说,该问题完全是由于我不知道的某些原因而导致编辑器无法正确识别令牌。

答案 2 :(得分:0)

我也遇到了这个问题!我的tsc编译正常,但编辑器出现了问题,这是因为VS代码使用的是TS的不同版本。

通过.

切换到配置使用的内容

作为参考,我的编辑器是TS v3.4.3,项目是v3.5.3

答案 3 :(得分:0)

使用最新版本更新您的VS代码。可以解决您的问题,为我工作!!