我已经通过React + Node + Umi构建了一个Excel加载项。我们已经实现了身份验证系统。身份验证可在Chrome和Safari中使用,我只是意识到它在IE11中无法很好地工作; F12显示该'Proxy' is undefined

尽管它是Excel加载项,但是我们可以仅在浏览器中重现该错误(和相同的错误消息)。在IE 11中打开链接https://jsaddin.10studio.tech/welcome/?next=formulaEditor,使用ID [email protected]和密码登录:123456。我们可以在F12中看到错误消息。

node.js - IE中未定义“代理”-LMLPHP

有人知道吗

  • 该如何解决?
  • 我怎么知道我的哪个库/部分代码使用了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中引发了一个错误:

    node.js - IE中未定义“代理”-LMLPHP

    最佳答案

    好像您缺少一个polyfill。您是否检查了umi.js的此配置? https://umijs.org/config/#targets

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

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

    LE:

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

    关于node.js - IE中未定义“代理”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60348709/

    10-09 22:14