错误 TS2339:属性'flatMap'在类型"任何"上不存在



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

错误TS2339:类型"any〔〕jasmine "上不存在属性"flatMap">

通过在lib下的tsconfig.json文件中添加"esnext.array"找到了一个修复方法,如问题Typescript flatMap,flat,flatten-dos';类型any[]上不存在。

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

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

有人能告诉我在tsconfig.json文件中添加esnext.array的风险吗?

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

esnext.array基本上引用了Javascript语言的规范草案。我不确定它们有多稳定,但你可能会引用一些最终不会被纳入规范的功能(然后不会被浏览器广泛支持(。根据您的用例,这可能是一件大事,也可能不是一件大事。

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

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

我希望它是有用的:(

相关内容

最新更新