React生产版本不适用于IE 11

时间:2019-01-31 01:08:49

标签: node.js reactjs webpack

我的react项目正在使用express作为后端。在开发模式下使用React的“ npm start”和快速服务器的“ node server.js”运行开发项目时,我可以在chrome和IE 11中使用它。在使用“ npm run”创建生产版本时构建”并使用“ node server.js”运行该文件,该文件可在Chrome浏览器中运行,但在IE 11中无法运行。我没有在控制台中看到任何错误。

我在index.js的开头使用以下语句来使代码与IE 11兼容。

导入'core-js / es6 / map'; 导入'core-js / es6 / set'; 导入“ raf / polyfill”;

反应版本-16。 使用create-react-app创建的项目。

我认为它不起作用,因为webpack.config.prod.js没有捆绑IE 11 兼容代码。

3 个答案:

答案 0 :(得分:1)

您应该使用:react-app-polyfill

此软件包包括适用于各种浏览器的polyfill。它包括最低要求和Create React App项目使用的常用语言功能。

用法 首先,使用Yarn或npm安装软件包:

npm install react-app-polyfill

yarn add react-app-polyfill

对于IE9:

// These must be the first lines in src/index.js
import 'react-app-polyfill/ie9';
import 'react-app-polyfill/stable';

对于IE11:

// These must be the first lines in src/index.js
import 'react-app-polyfill/ie11';
import 'react-app-polyfill/stable';

答案 1 :(得分:0)

摘自官方文档:

React支持所有流行的浏览器,包括Internet Explorer 9及更高版本,尽管IE 9和IE 10等较旧的浏览器需要某些填充。

  

安装这两个软件包。

  npm install babel-polyfill
  npm install react-app-polyfill
  

这必须是src / index.js中的第一行

import "react-app-polyfill/ie9"
import "react-app-polyfill/ie11"
import "react-app-polyfill/stable"
import 'raf/polyfill';
  

您还可以配置清单以处理不同的浏览器,   使用以下文档:https://github.com/browserslist/browserslist

示例:

"browserslist": [
    ">0.2%",
    "not dead",
    "ie >= 9" ]

答案 2 :(得分:0)

导入“ react-app-polyfill / ie11”

导入“ react-app-polyfill / stable”

第二行(react-app-polyfille / stable)帮了我大忙。我试图在使用ie11渲染页面的桌面应用程序中加载一个反应页面