我的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 兼容代码。
答案 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渲染页面的桌面应用程序中加载一个反应页面