“代理”在 IE 中未定义

IT技术 node.js reactjs express cross-browser umijs
2021-05-17 12:34:37

我已经通过 React+Node+ Umi构建了一个 Excel 插件我们已经实施了我们的身份验证系统。验证在 Chrome 和 Safari 中有效,我刚刚发现它在 IE11 中无法正常工作;F12表明'Proxy' is undefined.

尽管它是一个 Excel 加载项,但我们可以仅在浏览器中重现该错误(以及相同的错误消息)。在 IE 11 中打开链接https://jsaddin.10studio.tech/welcome/?next=formulaEditor,使用 ID3094557608@qq.com和密码登录: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

在此处输入图片说明

1个回答

看起来您缺少一个 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 的一个