【发布时间】:2019-11-11 13:31:25
【问题描述】:
我希望在我的源代码中使用 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
【问题讨论】:
-
是的,通常你不想使用 babel 来编译你的库代码。您可能需要 polyfill,但您不想依赖库中的转译。
-
为你的
@babel/preset-env设置什么你的useBuiltIns呢?尝试将其设置为entry看看是否有帮助。 -
@user1538301 不确定您的意思。如何使用 polyfill 获得异步等待?
-
@MatthewGoulart 你不会,你只是不会使用它。您可以使用 polyfill 获得
Promises,我更喜欢async/await(我不喜欢async/await如何更改返回类型。我想确切地知道我在看什么) -
@user1538301Interesting... 你能详细说明你为什么不这样做吗?使用 babel 有什么缺点?在什么情况下会使用 babel?
标签: javascript async-await internet-explorer-11 babeljs