首页 > 解决方案 > 对象不支持属性或方法“条目” - IE11 中的错误

问题描述

我正在开发一个使用 create-react-app 引导的反应应用程序,它在 Chrome 中完美运行,但我无法让它在 IE11 中运行。

启动应用程序后,我从控制台收到以下错误:

Object doesn't support property or method 'entries'

我花了几个小时在谷歌上寻找解决方案,但没有一个推荐的解决方案。

我尝试过的事情:

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;
  };
}

包.json:

{
  "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"
    ]
  }
}

参考:

标签: reactjsinternet-explorer-11create-react-appcore-js

解决方案


您可以降级您的 react-scripts 版本。在您的 package.json 中,更改为“react-scripts”:“3.2.0”。

看看https://github.com/facebook/create-react-app/issues/8405


推荐阅读