【问题标题】:Exception thrown and not caught at require-object-coercible in IE11在 IE11 中的 require-object-coercible 处抛出异常且未捕获
【发布时间】:2019-09-24 06:39:42
【问题描述】:

我正在使用 Babel 转译我的 ES7 代码。我的设置有点奇怪,因为我需要转译一些 node_modules。我不断收到此错误:

SCRIPT5022:抛出异常但未捕获
需要-object-coercible.js (4,24)

【问题讨论】:

    标签: internet-explorer webpack babeljs core-js


    【解决方案1】:

    我认为我的配置有误,并且我正在转译不正确的模块(因为您不应该转译 core-js),但经过一番挖掘,我发现问题出在我的代码中。

    我在ParentNode.children 上打电话给Array.from()from() 应该在可迭代的输入上调用,在 Chrome 中,children 属性总是返回一个 HTMLCollection,它是可迭代的。然而,在 IE 中,SVG 元素的childrenundefined,这会引发require-object-coercible 中的错误。这使我的代码在 Chrome 上运行良好,但在 IE11 中却不行,即使在正确的 polyfill 之后也是如此。

    解决方案是在调用from() 之前简单地检查children

    【讨论】:

    • 感谢您发布此问题的解决方案。我建议您在 48 小时后尝试将您自己的答案标记为该问题的可接受答案,此时该答案可以标记。它可以在未来帮助其他社区成员解决类似的问题。感谢您的理解。
    【解决方案2】:

    为了记录,我遇到了同样的问题。只有在调试调用堆栈之后,我才能找到它的来源。遇到同样问题的朋友,去IE11调试器,把异常行为改成“break on unhandled exceptions”,看看调用栈,会帮你找到根源。

    对我来说,这是对 Object.keys(window.XXX) 的调用,其中 window.XXX 未定义。

    【讨论】:

      猜你喜欢
      • 2012-04-26
      • 2013-06-16
      • 1970-01-01
      • 2011-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-24
      相关资源
      最近更新 更多