使用babel和laravel-mix将ES6转换为ES 2015

ma8fv8wu  于 2022-12-16  发布在  Babel
关注(0)|答案(3)|浏览(232)

我的Vue组件中有ES6 JavaScript代码。为了支持IE 11,我需要使用babel和laravel-mix将其转换为ES 5代码。我该怎么做?
这是我的webpack.mix.js文件。

let mix = require('laravel-mix');

mix.js('resources/assets/js/app.js', 'public/js')
.js('resources/assets/js/admin-app.js', 'public/js')
gkn4icbw

gkn4icbw1#

有一个mix.babel()命令可以处理这个问题。
它与mix.scripts()相同,所以需要更多的跑腿工作。我作弊,这样做,然后将es5.js服务到IE:

mix.js('resources/assets/js/app.js', 'public/js')
  .babel('public/js/app.js', 'public/js/app.es5.js')
  .sass('resources/assets/sass/app.scss', 'public/css');
wwtsj6pe

wwtsj6pe2#

代码不是100%正确,babel第一个参数可以是一个数组,如果我们想传递多个文件:

mix.js('resources/assets/js/app.js', 'public/js')
     .babel(['public/js/app.js'], 'public/js/app.es5.js')
     .sass('resources/assets/sass/app.scss', 'public/css');
pzfprimi

pzfprimi3#

我更喜欢把app.js作为我的js输出,这是一个首选的命名约定,所以像其他人一样,如果babel对你有用,那么
webpack.confog.js

mix.js('resources/assets/js/app.js', 'public/js/app1.js')
  .babel('public/js/app1.js', 'public/js/app.js')
  .sass('resources/assets/sass/app.scss', 'public/css');

这样,我仍然在整个应用程序中维护public/js和入口点。
但我更喜欢使用我在这里发布的解决方案:Laravel混合物:配置Babel以兼容IE11(变换和多边形填充)

相关问题