React应用程序无法在IE 11浏览器中运行

时间:2019-12-27 08:58:05

标签: reactjs internet-explorer-11 create-react-app polyfills

我在这里看到了很多类似的问题,并且尝试了所有方法,但是我不知道为什么仍然不显示任何内容。

  1. npm install react-app-polyfill

  2. 我在package.json的生产和开发数组中添加了“ ie 11”

  3. 添加此两行import "react-app-polyfill/ie11"; import "react-app-polyfill/stable";index.js

  4. 的顶部
  5. 删除node_modules内部的.cache文件夹

  6. 重新启动应用程序

但是在11中仍然没有显示任何内容。

这是我的package.json

{
  "name": "firealarm",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^4.2.4",
    "@testing-library/react": "^9.3.3",
    "@testing-library/user-event": "^7.1.2",
    "antd": "^3.26.2",
    "axios": "^0.19.0",
    "core-js": "^3.6.1",
    "cors": "^2.8.5",
    "jspdf": "^1.5.3",
    "jspdf-autotable": "^3.2.11",
    "react": "^16.12.0",
    "react-app-polyfill": "^1.0.5",
    "react-dom": "^16.12.0",
    "react-router-dom": "^5.1.2",
    "react-scripts": "3.3.0"
  },
  "scripts": {
    "start": "set PORT=3006 && react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": {
    "production": [
      "ie 11",
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "ie 11",
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

我什至删除了node_modules文件夹并再次安装npm,但仍然无法正常工作。

更新

我在IE 11中收到两条错误消息。

SCRIPT5022: SyntaxError
File: 0.chunk.js, Line: 176128, Column: 38

SCRIPT5022: The error you provided does not contain a stack trace.
File: 0.chunk.js, Line: 205780, Column: 64

4 个答案:

答案 0 :(得分:4)

转到> /node_modules/react-dev-utils/webpackHotDevClient.js:60; 添加斜线:true

下面是代码示例

{
// Connect to WebpackDevServer via a socket.
var connection = new WebSocket(
  url.format({
    protocol: window.location.protocol === 'https:' ? 'wss' : 'ws',
    hostname: window.location.hostname,
    port: window.location.port,
    //Hardcoded in WebpackDevServer
    pathname: '/sockjs-node',
    slashes: true,
  })
);
}

答案 1 :(得分:0)

我刚刚在边缘浏览器上进行了测试,npm start给出了您提到的相同错误,但是您说您只想在ie11上运行您的应用程序。我做了npm run build,并通过serve包(在npm i -g serve之后)提供了它,效果很好。 除非直到您想在即进行开发,如果您能够在即在本地运行应用时,我猜都会有所帮助。

答案 2 :(得分:0)

您的react-scripts版本是什么? react-scripts版本3.3.0似乎存在问题。您可以在GitHub中找到问题报告:issue 1issue 2

它仍然可以与react-scripts@3.2.0一起使用。您可以尝试恢复为3.2.0作为解决方法。还请记住删除.cache中的node_modules文件夹并删除IE浏览器缓存,然后重试。

答案 3 :(得分:0)

在 .bablerc 或 babel-config {loose:true} 中添加 @babel/preset-env 对我有用

"@babel/preset-env": { "targets":">0.2%, not dead","loose":true}