ReactJS - SCRIPT1010:预期标识符 - 生产版本不是在IE11上运行

问题描述 投票:8回答:4

我创建了创建反应的应用程序内今天一个新的项目。该生产版本未在IE11运行良好,控制台显示以下错误:

SCRIPT1010: Expected identifier

该生产线它指向我main.js里面:

{var n=e&&e.__esModule?function(){return e.default}:function(){return e};

该错误是电子之后。(默认值)以上。我的包JSON很简单:

{
  "name": "sample-app",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "react": "^16.3.1",
    "react-dom": "^16.3.1",
    "react-scripts": "1.1.4"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  }
}

自叹不如,我的开发服务器完美的作品上IE11这样的问题只与生产版本。它的工作原理以及在Chrome为好。是,我需要有polyfills?

reactjs internet-explorer-11 babeljs create-react-app polyfills
4个回答
1
投票

好像polyfills的顺序也是一个因素。有在这个问题几种解决方案,可以帮助解决这个问题。 https://github.com/facebook/react/issues/8379


1
投票

这是我如何固定它。不要忘记先生响应“丹·阿布拉莫夫”帮我在这。

所以,问题是默认的应用程序正在对IE7渲染,是不是只在IE浏览器IE11 / EDGE支持transpiled构建。所以,我不得不提一下元信息,让浏览器知道预期的浏览器IE11 /边缘。在您的index.html的head部分补充一点:

<meta http-equiv="X-UA-Compatible" content="IE=edge">

现在,当我得到了,你还着y看到一些错误控制台,上面写着:

SCRIPT5009: 'Set' is undefined

不用担心,还有周围的方式,以及:https://reactjs.org/docs/javascript-environment-requirements.html

这里是我的混帐丹讨论的问题:https://github.com/facebook/create-react-app/issues/4255


0
投票

您需要包括巴贝尔,polyfills和transpile下降到ES5的IE11工作。

反应16依赖于集合类型的地图和设置。如果你支持旧的浏览器和设备可能没有提供这些本身(如IE <11),或不符合规定的实施方式(例如IE 11),考虑在您的捆绑应用程序的全局填充工具,如核心JS还是巴别-polyfill。

https://reactjs.org/docs/javascript-environment-requirements.html

您可以通过像这样的WebPack包括填充工具

entry: {
      app: [
        'babel-polyfill',
        'react-hot-loader/patch',
        'react',
        'react-dom',
        './src/index.web.tsx',
      ]
},

0
投票

这是IE问题,而不是反应框架。

问题是“默认”是在IE浏览器中的保留字

您可以重命名“默认”功能,以新的名称或使用JavaScript函数为:

return e["default"]
© www.soinside.com 2019 - 2024. All rights reserved.