尽管有 polyfills 和浏览器列表,但默认的 create-react-app 在 IE 中不起作用

IT技术 reactjs internet-explorer
2021-05-06 03:15:03

我正在简单地寻求让 create-react-app 在 IE 11 中工作。我在 Mac OS X 上工作,我无法通过 VirtualBox 或 Windows 计算机(在开发和生产模式下)让 IE 11 工作。

我对此进行了彻底调查,并尝试了以下方法:

  • 按照以下调整 package.json,然后 (i) 删除 node_modules/.cache,然后当它不起作用时,(ii) 删除 node_modules

"browserslist": {
    "production": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version",
      "ie 11"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version",
      "ie 11"
    ]
  }

  • 将这两行添加到我的 index.js 文件的顶部:

import 'react-app-polyfill/ie11';
import 'react-app-polyfill/stable';

  • 安装 @babel/polyfill 并在 index.js 的顶部插入这一行

import "@babel/polyfill";

所有这些都与 create-react-app 创建的默认应用程序有关。不走运,我在 IE 中得到的只是一个完全空白的屏幕,标题为“React App”。F12 Developer 工具给出以下错误:

IE 11 中的错误消息

非常感谢您对此的任何帮助!

1个回答

也许问题与 react-scripts 版本有关,您使用的是 react-scripts 3.3.0 及更高版本。你可以检查 package.json 文件来验证它。

GitHub 中有一些线程报告了这个错误,你可以参考它们,例如:github.com/facebook/create-react-app/issues/8197 , github.com/facebook/create-react-app/issues/8195 .

作为解决方法,您可以尝试降级 react-scripts 版本。据我所知,它仍然可以与react-scripts@3.2.0.