如何使用支持 IE11 的 babel 启用 async/await

How to enable async/await with babel with support for IE11

我希望在我的源代码中使用 async/await 并通过 babel 将其转译为 >0.25% not dead 可用的东西。

我的脑子里想着太多的方法来解决这个问题。有些已被弃用,有些根本不起作用,而我已经开始工作的那个使我的库的大小增加了一倍以上。

我试过将 @babel/polyfill@babel/plugin-transform-async-to-generator 一起使用,效果很好,但库从 ~500kB 减少到 ~1.1MB。

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

regeneratorRuntime is undefined

我希望有比包括所有这些 regeneratorRuntime 东西更好的方法...

我宁愿回到厄运的回调金字塔,也不愿发布超过 1mb 的库...

我正在使用:

如果您只需要 async/await 需要的生成器 polyfill,那么您可以只使用 facebook/regenerator.

You could follow the steps to support async/await in IE 11:

  • use babel-preset-env
  • yarn add regenerator or npm install regenerator
  • add node_modules/regenerator-runtime/runtime.js (10.7kb minified) into your bundle

参考link:Add ES7 Async/Await Support for your Webapp in 3 Easy Steps