gpt4 book ai didi

laravel - Laravel Mix 是否支持 ES8?

转载 作者:行者123 更新时间:2023-12-04 13:10:39 25 4
gpt4 key购买 nike

我正在用 Laravel mix 编译我的 javascript 文件,由于我对 Babel 和 package.json 还不是很了解,我想问一下 Laravel Mix 是否支持 ES8,尤其是 async/await?

如果我尝试一下,我无法判断 Mix 是否正在将 async/await 转换为 ES5,或者我的浏览器是否仅支持 async/await,这是最新版本。我仍然希望将其转换为 ES2015,因此该应用程序仍可在仅支持 ES5 的浏览器上运行。

最佳答案

使用 Laravel Mix 异步/等待:

如果您开箱即用地使用 Laravel Mix 并使用 async 和 await 您会收到以下错误消息:

Uncaught ReferenceError: regeneratorRuntime is not defined



但是 Laravel Mix 使用 Babel 来支持 ES2015。如果需要,我们可以自定义编译。

要使 async/await 工作,请添加文件 .babelrc到具有以下内容的根目录:
{
"presets": ["es2015", "stage-3"],
"plugins": [
"transform-runtime"
]
}

并安装所需的 npm 包:
npm install babel-preset-es2015 babel-preset-stage-3 babel-plugin-transform-runtime --save-dev

重要的事情(导致错误)是转换运行时插件。它没有随 Laravel Mix 一起提供,但您需要它才能使 async/await 功能正常工作。

ES8:

正如你在上面看到的,你可以在 Babel 中使用不同的预设阶段。通过它们,您可以使用 ES8 或更高版本中包含的功能。例如 stage-3 带来了 async/await 功能。

他们有一个 overview of the stages在他们的网站上。

关于laravel - Laravel Mix 是否支持 ES8?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45894763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com