如何通过支持IE11的Babel启用异步/等待

时间:2019-11-08 20:06:06

标签: javascript async-await internet-explorer-11 babel

我希望在源代码中使用async / await,并通过babel将其转换为>0.25% not dead可以使用的内容。

我的脑子里有各种各样的攻击方法。有些已被弃用,有些则无法使用,而我已经工作了超过一倍的图书馆。

我尝试将@babel/polyfill@babel/plugin-transform-async-to-generator一起使用,并且效果很好,但是该库从〜500kB到〜1.1MB。

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

  

regeneratorRuntime未定义

我希望有比包括所有regeneratorRuntime东西更好的方法了……

我宁愿回到毁灭的回调金字塔,也不愿将库超过1mb运送出去...

我正在使用:

  • webpack 4.41.0
  • babel 7.6.2

1 个答案:

答案 0 :(得分:1)

如果您仅需要生成器polyfill(异步/等待所需),则只需使用facebook/regenerator

  

您可以按照以下步骤在IE 11中支持异步/等待:

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

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