jcs*_*ano 6 async-await laravel laravel-mix es2017
我正在使用Laravel mix编译我的javascript文件,因为我对Babel和package.json不是很了解,我想问一下Laravel Mix是否支持ES8,尤其是async/await?
如果我尝试一下,我无法判断Mix是否正在异步/等待ES5,或者我的浏览器是否支持async/await,这是最新版本.我仍然希望将它转换为ES2015,因此应用程序仍然适用于仅支持ES5的浏览器.
Mar*_*abe 19
async/await与Laravel Mix:
如果您使用Laravel Mix开箱即用,并使用async并等待您收到以下错误消息:
未捕获的ReferenceError:未定义regeneratorRuntime
但是Laravel Mix使用Babel来支持ES2015.如果需要,我们可以自定义编译.
要使异步/等待工作,.babelrc请使用以下内容将文件添加到根目录:
{
"presets": ["es2015", "stage-3"],
"plugins": [
"transform-runtime"
]
}
Run Code Online (Sandbox Code Playgroud)
并安装所需的npm包:
npm install babel-preset-es2015 babel-preset-stage-3 babel-plugin-transform-runtime --save-dev
Run Code Online (Sandbox Code Playgroud)
重要的是(导致错误)是transform-runtime插件.它没有使用Laravel Mix,但你需要它才能使async/await功能正常工作.
ES8:
如上所示,您可以在Babel中使用不同的预设阶段.使用它们,您可以使用ES8或更高版本中包含的功能.例如,stage-3带有async/await功能.