我们刚刚将应用程序从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文件中的风险吗?
答案 0 :(得分:0)
您链接到的帖子建议将es2018更改为es2019。你先尝试了吗?这似乎是一个更安全的选择。
esnext.array基本上是参考Java语言的规范草案。我不确定它们的稳定性如何,但是您很有可能会引用最终不会成为规范的功能(然后浏览器将不会广泛支持这些功能)。取决于您的用例,可能不一定很重要。
答案 1 :(得分:0)
我遇到了同样的问题,解决方案是在您的 --lib 中使用 "Invalid argument supplied for foreach()"
而不是 'es2018',如下所示:
esnext
希望对你有帮助:)