React应用在Internet Explorer 11中无法工作

35

我的React应用在Internet Explorer 11上无法工作。但在Edge和Chrome上运行良好。

我已经创建了很多文件,因此不认为我可以尝试npx create-react-app。(正如其他类似问题的答案所指出的那样)

我已经将这个添加到我的index.js文件中,但它并不起作用。

import 'react-app-polyfill/ie11';

我遇到的错误是:

这是我遇到的错误:

我查看了相关链接,它们要求解决一个括号错误,但在我查看代码时并没有问题。

这是我的 package.json 文件:

{
      "name": "insurance_automation",
      "version": "0.1.0",
      "private": true,
      "dependencies": {
        "axios": "^0.18.0",
        "babel-polyfill": "^6.26.0",
        "bcryptjs": "^2.4.3",
        "body-parser": "^1.19.0",
        "config": "^3.1.0",
        "cors": "^2.8.5",
        "express": "^4.17.1",
        "jsonwebtoken": "^8.5.1",
        "multer": "^1.4.1",
        "mysql2": "^1.6.5",
        "node": "^11.15.0",
        "nodemailer": "^6.2.1",
        "react": "^16.8.6",
        "react-dom": "^16.8.6",
        "react-router-dom": "^5.0.0",
        "react-scripts": "3.0.1",
        "sequelize": "^5.8.6",
        "universal-cookie": "^4.0.0"
      },
      "scripts": {
        "start": "react-scripts start",
        "build": "react-scripts build",
        "test": "react-scripts test",
        "eject": "react-scripts eject",
        "server": "nodemon server",
        "dev": "concurrently \"npm run server\" \"npm start\" "
      },
      "eslintConfig": {
        "extends": "react-app"
      },
      "browserslist": {
        "production": [
          ">0.2%",
          "not dead",
          "not op_mini all"
        ],
        "development": [
          "last 1 chrome version",
          "last 1 firefox version",
          "last 1 safari version"
        ]
      },
      "devDependencies": {
        "concurrently": "^4.1.0",
        "nodemon": "^1.19.1"
      }
    }

1
你安装了特殊的npm包吗?我之前也遇到过这个问题,后来发现是由于一个错误的转译npm包引起的。 - sandrooco
我已经包含了我的package.json文件,那里面有任何可疑的依赖吗? - Abdul Ahad
请查看此链接:https://github.com/facebook/react/issues/8379 - sachin kalekar
尝试参考此链接可能有助于您了解问题,并获取可能解决方案的信息。Ref: https://www.gitmemory.com/issue/facebook/create-react-app/6924/487331305 - Deepak-MSFT
@sachinkalekar 我确实看到了那篇帖子,但它使用的方法与答案中相同。我将尝试分别导入文件。 - Abdul Ahad
显示剩余2条评论
1个回答

41

这对我有用。

在package.json中更新开发数组。

    "development": [
      "ie 11",
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }

在src文件夹中的index.js中添加以下代码。
// These must be the first lines in src/index.js
import 'react-app-polyfill/ie11';
import 'react-app-polyfill/stable';

然后删除 node_modules 文件夹并运行

npm install

默认情况下,IE不支持许多ES6+特性。有关更多信息,请参阅create-react-app polyfill文档


不需要 import 'react-app-polyfill/stable',其他部分的答案已经解决了它。 - lloyd
我不得不添加 import 'react-app-polyfill/stable',然后它才能正常工作 :) 谢谢! - hmrc87
1
我也成功地使用 import 'react-app-polyfill/stable' 让它工作了,但是我无法在应用程序的发布版本上让它工作。有什么想法吗? - Werner Bisschoff

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接