【问题标题】:Object doesn't support property or method 'includes' on IE 11对象不支持 IE 11 上的属性或方法“包含”
【发布时间】:2020-12-16 11:11:59
【问题描述】:

我在 React 应用程序中使用 use-http 包和以下 polyfills

  • whatwg-fetch
  • abortcontroller-polyfill
  • url-search-params-polyfill

该应用还具有处理 corejs 的 babel 配置。

当我使用控制台时,我可以声明并分配一个数组,然后我在上面应用includes,工作正常。

但是当我运行应用程序时,我收到错误对象不支持 IE 11 上的属性或方法“包含”。当我调试时,我放置了一个断点,然后我在控制台上使用了失败的数组,我收到了错误。我也尝试过明确使用core-js 包,但仍然没有解决问题。

我不明白不一致之处,为什么当我声明一个数组 includes 时可以正常工作,但在运行应用程序时,相同的函数却不行。

【问题讨论】:

  • 为了测试,可以尝试在index.js的开头加上import 'core-js/es6/string';。此外,在您的项目中包含import 'react-app-polyfill/ie11'; 并再次尝试运行该项目。看看它是否有助于解决问题。
  • 我尝试了多种包,包括你的建议,不幸的是,没有奏效。但最终奏效的是安装 core-js 并从 corejs 2 升级到 3 npm i --save-dev core-js@3 @babel/runtime-corejs3(babel 配置)。升级后,我在入口文件中添加了import 'core-js/stable',这样就解决了问题。 babel 的配置是我从alexbogovich.com/blog/core-js得到的
  • 感谢您分享该问题的解决方案。我建议您将您的解决方案发布为该线程的答案,并在 48 小时后尝试将您自己的答案标记为该问题的答案。它可以在未来帮助其他社区成员解决类似的问题。感谢您的理解。

标签: reactjs internet-explorer polyfills


【解决方案1】:

以下三个导入的组合在入口文件中起作用。

import "whatwg-fetch";
import "abortcontroller-polyfill";
import "core-js/stable";

我仍然没有设法通过 webpack 进行配置,但是它解决了我在 IE 上遇到的问题。

【讨论】:

  • 您是否尝试过在构建的条目中包含特定的包含? { entry: { main: ["core-js/features/array/includes", "./src/app.js"] , }, .. }
猜你喜欢
  • 1970-01-01
  • 2021-02-24
  • 1970-01-01
  • 2019-07-05
  • 1970-01-01
  • 2020-08-04
  • 1970-01-01
  • 1970-01-01
  • 2019-01-28
相关资源
最近更新 更多