Объект не поддерживает свойства или метод 'записи' - ошибка в IE11

Я работаю над реактивным приложением, загружаемым с помощью create-response-app, и оно отлично работает в Chrome, но я не могу заставить его работать в IE11.

При запуске приложения я получаю в консоли следующую ошибку:

Object doesn't support property or method 'entries'

Я часами рылся в Google, пытаясь найти решение, но ни одно из рекомендованных не работает.

Вещи, которые я пробовал:

  • импорт react-app-polyfill/ie11 а также react-app-polyfill/stable на вершине index.js
  • импорт core-js/es/object/entries а также core-js/features/object/entries на вершине index.js
  • Добавление следующего в index.js:
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:

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

Ссылки:

2 ответа

Решение

Вы можете понизить версию сценария реакции. В вашем package.json измените на "response-scripts": "3.2.0".

Взгляните на https://github.com/facebook/create-react-app/issues/8405.

Похоже, проблема с react-scriptsверсия 3.3.0 и выше. Вы можете найти множество отчетов о проблемах в GitHub, например: https://github.com/facebook/create-react-app/issues/8197, https://github.com/facebook/create-react-app/issues/8195.

Он все еще может работать с react-scripts@3.2.0. Вы можете попробовать вернуться к версии 3.2.0 в качестве временного решения. Не забудьте также удалить.cache папка в node_modules и удалите кеш браузера IE, затем повторите попытку.

Другие вопросы по тегам