【发布时间】: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 升级到 3npm 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