IE не поддерживает VueJS - Symfony приложение - PullRequest
0 голосов
/ 26 мая 2020

Как заставить работать приложение VueJS - Symfony в IE11?

Я использую Babel Encore.

Уже проверил доступные ответы в Stack, но не работает для меня. Кроме того, попытался импортировать @babel/polyfill непосредственно в JS, который тоже не работает.

Вот конфигурация webpack.config.js моего приложения

const {VueLoaderPlugin} = require('vue-loader');
let Encore = require('@symfony/webpack-encore');

Encore
    .setOutputPath('public/build/')
    .setPublicPath('/build')
    .cleanupOutputBeforeBuild()
    .enableSourceMaps(!Encore.isProduction())
    .addEntry('app', './assets/js/app.js')
    // .enableVueLoader()
    .addLoader({
        test: /\.vue$/,
        loader: 'vue-loader'
    })
    .enableBuildNotifications()
    // .configureBabel(() => {}, {
    //     useBuiltIns: 'entry',
    //     corejs: 3
    // })

    .addPlugin(new VueLoaderPlugin())
    .enableSassLoader()
    .enableVersioning(Encore.isProduction())
;


module.exports = Encore.getWebpackConfig();

Примечание: IE браузер теперь показывает ошибку в консоли SCRIPT1010: Expected identifier и показывает пустую страницу.

1 Ответ

0 голосов
/ 28 мая 2020

Проблема исправлена ​​обновлением конфигурации

const {VueLoaderPlugin} = require('vue-loader');
let Encore = require('@symfony/webpack-encore');

Encore
  .setOutputPath('public/build/')
  .setPublicPath('/build')
  .cleanupOutputBeforeBuild()
  .enableSourceMaps(!Encore.isProduction())
  .addEntry('app', './assets/js/app.js')
  .addLoader({
      test: /\.vue$/,
      loader: 'vue-loader'
  })
  .enableBuildNotifications()

  .addPlugin(new VueLoaderPlugin())
  .enableSassLoader()
  .enableVersioning(Encore.isProduction())
 .configureBabel(function(babelConfig) {
    // add additional presets
    // babelConfig.presets.push('@babel/preset-flow');

    // no plugins are added by default, but you can add some
    // babelConfig.plugins.push('styled-jsx/babel');
  }, {
    // node_modules is not processed through Babel by default
    // but you can whitelist specific modules to process
    // includeNodeModules: ['foundation-sites'],

    // or completely control the exclude rule (note that you
    // can't use both "includeNodeModules" and "exclude" at
    // the same time)
    exclude: /loadash/
  });

module.exports = Encore.getWebpackConfig ();

...