Laravel Mix не переносит vendor.js на es5 - PullRequest
1 голос
/ 11 марта 2019

Laravel Mix, похоже, не переносит vendor.js и manifest.js в ES5. Это не работает на iPhone Safari и IE 11.

IE DevTools показывает эти ошибки:

IE error

И кажется, что у него все еще есть особенности ES6:

es6

Кажется, что другие файлы переносятся, например, app.js и куски.

Вот мой webpack.mix.js

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

let options = {
  processCssUrls: false,
}

let config = {
  output: {
    chunkFilename: 'assets/js/chunks/[name].js',
    publicPath: '/'
  }
}

if (mix.inProduction()) {
  config.output.chunkFilename = 'assets/js/chunks/[name].[chunkhash].js'
}

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

  .sass('resources/assets/sass/web.scss', 'public/assets/css')
  .sass('resources/assets/sass/fonts.scss', 'public/assets/css')

  .copy('resources/assets/img', 'public/assets/img')
  .copy('node_modules/@fortawesome/fontawesome-free/webfonts','public/assets/webfonts')

  .extract([
      // Libraries...
  ])

  .disableNotifications()
  .webpackConfig(config)
  .options(options)
  .sourceMaps()

if (mix.inProduction()) {
  mix.version()
}

и мой .babelrc

{
  "plugins": ["syntax-dynamic-import"]
}

Я попробовал следующее:

  1. Установите babel-preset-es2015 и добавьте es2015 к моим .babelrc предустановкам.
  2. Добавить .babel('[...]/vendor.js', '[...]/vendor.es5.js') в мой webpack.mix.js

Как я могу получить файл vendor.js и manifest.js для переноса в ES5? Или, по крайней мере, заставить его работать с IE 11 и iPhone Safari.

...