Angular 错误TS2339:属性';平面图';不存在于类型';任何

Angular 错误TS2339:属性';平面图';不存在于类型';任何,angular,karma-jasmine,Angular,Karma Jasmine,我们刚刚将应用程序从Angular 4升级到Angular 7。该站点在本地使用ng serve启动并运行,并且在多个环境(ETE、QA、Pilot等)中运行良好,针对每个环境构建,无需以下修复。但是当我们运行单元测试时,我们得到了以下错误 错误TS2339:类型“any[]jasmine”上不存在属性“flatMap” 如问题所述,通过在lib下的tsconfig.json文件中添加“esnext.array”找到了修复方法 现在我的问题是它会影响网站吗?我的角度lib值如下所示 "lib":

我们刚刚将应用程序从Angular 4升级到Angular 7。该站点在本地使用ng serve启动并运行,并且在多个环境(ETE、QA、Pilot等)中运行良好,针对每个环境构建,无需以下修复。但是当我们运行单元测试时,我们得到了以下错误

错误TS2339:类型“any[]jasmine”上不存在属性“flatMap”

如问题所述,通过在lib下的tsconfig.json文件中添加“esnext.array”找到了修复方法

现在我的问题是它会影响网站吗?我的角度lib值如下所示

"lib": [
      "es2018",
      "dom",
      "esnext.array"
    ]

有人能指出将esnext.array添加到tsconfig.json文件(如果有)的风险吗?

您链接到的帖子建议将es2018更改为es2019。你先试过吗?这似乎是一个更安全的选择


array基本上是引用Javascript语言的规范草案。我不确定它们有多稳定,但有可能您引用的功能最终不会进入规范(并且不会被浏览器广泛支持)。这取决于您的使用案例,可能有什么大不了的。

您链接的帖子建议将es2018更改为es2019。你先试过吗?这似乎是一个更安全的选择


array基本上是引用Javascript语言的规范草案。我不确定它们有多稳定,但有可能您引用的功能最终不会进入规范(并且不会被浏览器广泛支持)。取决于您的用例,这可能是一个大问题,也可能不是一个大问题。

我也遇到了同样的问题,解决方案是对您的--lib使用
esnext
,而不是“es2018”,如下所示:

"compilerOptions": {
    "target": "es2015",
    "lib": ["dom", "esnext"]
}

我希望这是有帮助的:)

我也遇到了同样的问题,解决方案是对您的--lib使用
esnext
,而不是“es2018”,如下所示:

"compilerOptions": {
    "target": "es2015",
    "lib": ["dom", "esnext"]
}
我希望这是有帮助的:)