Dva: ie11下报SCRIPT5022引发了但未捕获异常错误

Created on 12 Jul 2018  ·  6Comments  ·  Source: dvajs/dva

1.开发环境在ie11下没有问题,部署以后在ie11下就出现这种问题

2222
点击script5022,
3331

点击对应代码
4444
ie11一直空白出不来,请问是什么问题

@sorrycc

bug (maybe) dep(roadhog)

Most helpful comment

原因已找到

就是这个 https://github.com/facebook/react/issues/8379
react 在 IE11 中需要对 Symbol 提供 polyfill。但是由于我是通过 CDN导入react, 所以在index.js第一行 import '@babel/polyfill' 会导致polyfill 在react之后运行。

@sorrycc 但是不清楚为何将 NODE_ENV 设为 production 会导致这个问题。

All 6 comments

相关issues

错误提示
roadhog dev 下一切正常, COMPRESS=none roadhog build 编译后出错

React.Children.only expected to receive a single React element child
The above error occurred in the <Provider> component:
                   in Provider (created by DvaRoot)
                   in DvaRoot

尝试解决方案

  1. 正确在index.js 第一行引入 import '@babel/polyfill' 任然报错
  2. 使用COMPRESS=none编译依然报错
  3. roadhog 已经是最新版本2.4.2

@sorrycc

@Y-wson roadhog 切换到2.4.1试一下, 我的版本降级后就没问题了

@sorrycc 初步判断问题来自这行. 只要将 NODE_ENV 设置为 production 就出错

原因已找到

就是这个 https://github.com/facebook/react/issues/8379
react 在 IE11 中需要对 Symbol 提供 polyfill。但是由于我是通过 CDN导入react, 所以在index.js第一行 import '@babel/polyfill' 会导致polyfill 在react之后运行。

@sorrycc 但是不清楚为何将 NODE_ENV 设为 production 会导致这个问题。

Was this page helpful?
0 / 5 - 0 ratings