如何让我的 React 应用程序在 Edge 和 IE 11 上运行?
How do I make my React app work on Edge and IE 11?
我的反应一直运行良好,但我决定在 Edge 和 Chrome 上尝试它,在这两种浏览器上加载时我都遇到语法错误。该应用程序是使用 create-react-app 编写的,当我发现它无法在 Windows 上运行时,我执行了以下操作:
- 已安装
react-app-polyfill
- 在
package.json
中更新了我的浏览器列表以包括 ie 11
和 last 1 edge
- 在
index.js
中导入了 react-app-polyfill/stable
和 react-app-polyfill/ie11
- 已删除
node_modules/.cache
并重新启动 npm start
但 Edge 和 IE 11 开发工具控制台均显示语法错误:
但由于某些奇怪的原因,它们显示不同的行号。无奈之下,我也尝试再次删除所有node_modules
和运行 npm install
。仍然没有帮助。
如果我进行生产构建和服务,一些页面似乎可以工作,而另一些页面我在 IE 和 Edge 中遇到错误,抱怨试图对空值执行 map
或 length
。
这似乎是 react-scripts
3.3.0 及更高版本的问题。您可以在 GitHub 中找到许多问题报告,例如:github.com/facebook/create-react-app/issues/8197, github.com/facebook/create-react-app/issues/8195。
它仍然可以与 react-scripts@3.2.0
一起使用。作为解决方法,您可以尝试恢复到 3.2.0。
我的反应一直运行良好,但我决定在 Edge 和 Chrome 上尝试它,在这两种浏览器上加载时我都遇到语法错误。该应用程序是使用 create-react-app 编写的,当我发现它无法在 Windows 上运行时,我执行了以下操作:
- 已安装
react-app-polyfill
- 在
package.json
中更新了我的浏览器列表以包括ie 11
和last 1 edge
- 在
index.js
中导入了 - 已删除
node_modules/.cache
react-app-polyfill/stable
和 react-app-polyfill/ie11
并重新启动 npm start
但 Edge 和 IE 11 开发工具控制台均显示语法错误:
node_modules
和运行 npm install
。仍然没有帮助。
如果我进行生产构建和服务,一些页面似乎可以工作,而另一些页面我在 IE 和 Edge 中遇到错误,抱怨试图对空值执行 map
或 length
。
这似乎是 react-scripts
3.3.0 及更高版本的问题。您可以在 GitHub 中找到许多问题报告,例如:github.com/facebook/create-react-app/issues/8197, github.com/facebook/create-react-app/issues/8195。
它仍然可以与 react-scripts@3.2.0
一起使用。作为解决方法,您可以尝试恢复到 3.2.0。