Object doesn't support property or method 'entries' - error in IE11
我正在开发使用create-react-app启动的React应用,它在Chrome中完美运行,但无法在IE11中运行。
启动应用程序后,我从控制台收到以下错误:
我花了数小时拖拉Google试图寻找解决方案,但没有一个推荐的解决方案。
我尝试过的事情:
-
在
index.js 的顶部导入react-app-polyfill/ie11 和react-app-polyfill/stable -
在
index.js 的顶部导入core-js/es/object/entries 和core-js/features/object/entries -
在
index.js 中添加以下内容:
1 2 3 4 5 6 7 8 9 10 11 | if (!Object.entries) { Object.entries = function( obj ){ var ownProps = Object.keys( obj ), i = ownProps.length, resArray = new Array(i); // preallocate the Array while (i--) resArray[i] = [ownProps[i], obj[ownProps[i]]]; return resArray; }; } |
package.json:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | { "name":"ceas-ui", "version":"0.1.0", "private": true, "dependencies": { "auth0-js":"^9.8.2", "bootstrap":"^4.1.3", "core-js":"^3.6.4", "env-cmd":"^8.0.2", "joi-browser":"^13.4.0", "react":"^16.12.0", "react-app-polyfill":"^1.0.6", "react-bootstrap":"^1.0.0-beta.16", "react-dom":"^16.12.0", "react-loader-spinner":"^2.3.0", "react-modal":"^3.8.1", "react-router-bootstrap":"^0.25.0", "react-router-dom":"^5.1.2", "react-scripts":"^3.3.1", "react-slidedown":"^2.4.5", "react-toastify":"^4.5.2", "styled-components":"^5.0.0" }, "scripts": { "start":"react-scripts start", "test":"cls && react-scripts test --coverage --env=jsdom", "eject":"react-scripts eject" }, "eslintConfig": { "extends":"react-app" }, "browser": { "joi":"joi-browser" }, "devDependencies": { "babel-cli":"^6.26.0", "babel-core":"^6.26.3", "babel-plugin-transform-class-properties":"^6.24.1", "babel-preset-es2015":"^6.24.1", "babel-preset-react":"^6.24.1", "babel-preset-stage-0":"^6.24.1", "chai":"^4.2.0", "enzyme":"^3.9.0", "enzyme-adapter-react-16":"^1.9.0", "jsdom":"^13.2.0", "mocha":"^6.0.0", "react-test-renderer":"^16.8.2", "rimraf":"^2.6.3" }, "browserslist": { "production": [ ">0.2%", "not dead", "not op_mini all", "ie 11" ], "development": [ ">0.2%", "not dead", "not op_mini all", "last 1 chrome version", "last 1 firefox version", "last 1 safari version", "ie 11" ] } } |
参考文献:
- https://github.com/facebook/create-react-app/issues/8405
- 在使用create-react-app的React应用程序中充填ES6功能的最佳方法
您可以降级您的react-scripts版本。
在您的package.json中,将其更改为" react-scripts ":" 3.2.0 "。
看看https://github.com/facebook/create-react-app/issues/8405。
它仍然可以与