6

我已经通过 React+Node+ Umi构建了一个 Excel 插件。我们已经实施了我们的身份验证系统。身份验证在 Chrome 和 Safari 中有效,我刚刚意识到它在 IE11 中效果不佳;F12表明'Proxy' is undefined.

虽然它是一个 Excel 插件,但我们可以在浏览器中重现错误(以及相同的错误消息)。在 IE 11 中打开链接https://jsaddin.10studio.tech/welcome/?next=formulaEditor3094557608@qq.com ,使用 ID和密码登录:123456。我们可以在 F12 中看到错误消息。

在此处输入图像描述

有人知道吗

  1. 如何解决这个问题?
  2. 我怎么知道我的代码的哪个库/部分使用了这个Proxy?我可以用替代品代替它。

编辑1:.umirc.ts

treeShaking: true,
targets: {
  ie: 9,
  safari: 9,
},

package.json

"umi": "^2.7.0",
"umi-plugin-react": "^1.8.0",
"umi-types": "^0.2.0"

编辑2:

我试过了yarn add proxy-polyfill,然后yarn start。奇怪的是,它在 localhost 中引发了一个错误,Invalid character并且'umi' is undefined

在此处输入图像描述

4

1 回答 1

0

看起来你缺少一个 polyfill。你检查了 umi.js 的这个配置吗?https://umijs.org/config/#targets

将 ie 的目标设置为 11(如上面的链接中所示)应该可以添加您需要的 polyfill。

  targets: {
    ie: 11,
    ...other browsers
  },
  ...rest of the config

乐:

如果 umi.js 出现问题,您可以尝试自己添加所需的 polyfill(例如,这里是 Proxy https://github.com/GoogleChrome/proxy-polyfill的一个)

于 2020-02-24T07:16:11.140 回答