我正在使用Babel转换我的ES7代码。我的设置有点奇怪,因为我需要转换一些 node_modules 。我不断收到此错误:
SCRIPT5022:引发了异常且未捕获
require-object-coercible.js(4,24)
答案 0 :(得分:1)
为了记录,我遇到了同样的问题。只有在调试了调用堆栈之后,我才能找到它的来源。遇到同样问题的,去IE11调试器,把异常行为改成“break on unhandled exceptions”,看看调用栈,会帮你找到根源。
对我来说,这是对 Object.keys(window.XXX)
的调用,其中 window.XXX 未定义。
答案 1 :(得分:0)
我以为我的配置错误,并且我正在编译不正确的模块(因为您不应该编译core-js
),但是经过一番挖掘之后,我发现问题出在我的代码中。
我在Array.from()
上致电ParentNode.children
。 from()
应该在可迭代的输入上调用,在Chrome中,children
属性始终返回可迭代的HTMLCollection。但是,在IE中,SVG元素的children
是undefined
,这会引起require-object-coercible
中的错误。这样即使在正确执行polyfill后,我的代码也可以在Chrome上正常运行,但在IE11上却无法正常工作。
解决方案是在调用children
之前先对from()
进行检查。