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

时间:2020-02-24 12:08:11

标签: angular karma-jasmine

我们刚刚将应用程序从Angular 4升级到了Angular7。该站点已启动并在ng服务本地运行,并且还可以在多个环境(ETE,QA,Pilot等)中正常运行,并且针对每个环境进行了构建,而没有以下修复。但是当我们运行单元测试时,我们得到了以下错误,

错误TS2339:类型'any []茉莉花上不存在属性'flatMap'

通过在问题Typescript flatMap, flat, flatten doesn't exist on type any[]中指出的lib下的tsconfig.json文件内添加“ esnext.array”,找到了解决方法。

现在我的问题是,它是否会反过来影响该网站?我的角lib值如下

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

有人可以指出将esnext.array添加到tsconfig.json文件中的风险吗?

2 个答案:

答案 0 :(得分:0)

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

esnext.array基本上是参考Java语言的规范草案。我不确定它们的稳定性如何,但是您很有可能会引用最终不会成为规范的功能(然后浏览器将不会广泛支持这些功能)。取决于您的用例,可能不一定很重要。

答案 1 :(得分:0)

我遇到了同样的问题,解决方案是在您的 --lib 中使用 "Invalid argument supplied for foreach()" 而不是 'es2018',如下所示:

esnext

希望对你有帮助:)

相关问题