对象不支持属性或方法“条目” - IE11 中的错误

2024-01-09

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

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

Object doesn't support property or method 'entries'

我花了几个小时在谷歌上搜索试图找到解决方案,但推荐的解决方案都不起作用。

我尝试过的事情:

  • 输入react-app-polyfill/ie11 and react-app-polyfill/stable在顶端index.js
  • 输入core-js/es/object/entries and core-js/features/object/entries在顶端index.js
  • 将以下内容添加到index.js https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries#Polyfill:
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"
    ]
  }
}

参考:

  • https://github.com/facebook/create-react-app/issues/8405 https://github.com/facebook/create-react-app/issues/8405
  • 在使用 create-react-app 的 React 应用程序中填充 ES6 功能的最佳方法 https://stackoverflow.com/questions/43756211/best-way-to-polyfill-es6-features-in-react-app-that-uses-create-react-app

您可以降级您的反应脚本版本。 在 package.json 中,更改为 "react-scripts": "3.2.0"。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对象不支持属性或方法“条目” - IE11 中的错误 的相关文章

随机推荐