Webpack 网页包不支持async/await关键字

Webpack 网页包不支持async/await关键字,webpack,async-await,ecmascript-2017,Webpack,Async Await,Ecmascript 2017,通常,我们使用webpack+babel来使用此配置转换es6/7代码 test: /\.js[x]?$/, loader: 'babel-loader', query: { presets: ['es2017', 'react'], }, 它工作得很好。代码可以在Chrome/Firefox/Edge/Safari上运行。(让我们忘掉它吧。) 但是,Chrome55发布时带有对async/await的本机支持。因此,我将“es2017”从“预设”中

通常,我们使用webpack+babel来使用此配置转换es6/7代码

    test: /\.js[x]?$/,
    loader: 'babel-loader',
    query: {
      presets: ['es2017', 'react'],
    },
它工作得很好。代码可以在Chrome/Firefox/Edge/Safari上运行。(让我们忘掉它吧。)

但是,Chrome55发布时带有对async/await的本机支持。因此,我将“es2017”从“预设”中删除

    presets: ['react'],
然后,webpack抱怨说:“语法错误:意外标记”


因此,我的问题是:我们如何利用jsx中的本机异步/等待功能?

我的观点是——即使chrome支持异步/等待功能,但这并不意味着webpack了解捆绑时您在做什么。它仍然需要通过babel.FYI,“ES7”是ES2016的同义词,而不是ES2017。我们想用webpack/react尝试本机异步/等待。是否有任何解决方法可以让webpack使用async/await关键字捆绑代码?或者有其他捆绑工具可以做到这一点吗?顺便说一下,将async/Wait转换为generator并不完美。生成的代码将更改“this”,因为它将整个代码包装到一个function.Done中。使用Webpack2+插件。