如何使用支持 IE11 的 babel 启用异步/等待

Mat*_*art 7 javascript async-await internet-explorer-11 babeljs

我希望在我的源代码中使用 async/await 并让 babel 将其转换为>0.25% not dead.

我的脑子里嗡嗡作响,有很多方法可以解决这个问题。有些已被弃用,有些完全不起作用,而我已经开始工作的那个是我图书馆的两倍多。

我试过使用@babel/polyfillwith@babel/plugin-transform-async-to-generator并且效果很好,但库从 ~500kB 到 ~1.1MB。

我也尝试@babel/preset-env通过 give it将它留给它>0.25% not dead,但这并没有什么不同。我得到:

regeneratorRuntime 未定义

我希望有比包括所有这些regeneratorRuntime东西更好的方法来做到这一点......

我宁愿回到厄运的回调金字塔,也不愿运送超过 1mb 的图书馆......

我在用:

  • 网络包 4.41.0
  • 通天塔 7.6.2

Yu *_*hou 6

如果你只需要生成器 polyfill——这是 async/await 所需要的——那么你可以只使用facebook/regenerator

您可以按照以下步骤在 IE 11 中支持 async/await:

  • 使用babel-preset-env
  • yarn add regenerator 或者 npm install regenerator
  • 添加node_modules/regenerator-runtime/runtime.js (10.7kb minified)到您的捆绑包中

参考链接:通过 3 个简单步骤为您的 Web 应用程序添加 ES7 Async/Await 支持