我在一个使用Babel的项目中一加入async 函数就遇到了这个问题,但这个问题对任何最近的JavaScript功能都是一样的。

Parcel使用的Babel生成了一个polyfill,但为了避免这个错误,你需要同时加载regenerator-runtime 运行时。
一个解决方案:添加到你的主JavaScript文件的顶部。
import 'regenerator-runtime/runtime'
Parcel会默认包含这个包,增加25KB的大小。
就代码库而言,最有效的解决方案是在你的package.json中添加browserslist 属性。
比如说。
"browserslist": [
"last 1 Chrome version"
]
用于测试已经很好了。为了支持多种浏览器。
"browserslist": [
"last 3 and_chr versions",
"last 3 chrome versions",
"last 3 opera versions",
"last 3 ios_saf versions",
"last 3 safari versions"
]
或者也可以。
"browserslist": [
"since 2017-06"
]
你必须添加一个足够新的版本来支持async/await ,这样Babel就不会试图添加一个polyfill。