Компоненты Vue не отображаются в IE11 (Laravel) - PullRequest
0 голосов
/ 24 сентября 2019

Все мои компоненты vue не могут быть отображены в IE11.После поиска, похоже, причина в том, что IE не поддерживает ES6 и выше.

Итак, моя попытка на данный момент - использовать babel:

My. babelrc :

{
"presets": [
    [
        "@babel/preset-env",
        {
            "debug": true,
            "modules": false,
            "forceAllTransforms": true,
            "useBuiltIns": "usage",
            "targets": "last 1 version, > 1%",
            "corejs": 3
        }
    ]
  ]
}

И я использую laravel-mix для компиляции ресурса:

const mix = require("laravel-mix")

mix.js("resources/js/app.js", "public/js/app.js")
.sass("resources/sass/app.scss", "public/css/app.css")
.options({
    processCssUrls: false
});

Компиляция прошла нормально, но мои компоненты vue по-прежнему не отображаются.

Есть какие-нибудь указатели для решения проблемы?

Спасибо.

// РЕШЕНИЕ : Конвертируйте ES6 в ES2015, используя babel и laravel-mix

1 Ответ

0 голосов
/ 24 сентября 2019

Попробуйте это.

  1. Установить babel polyfill
npm install --save @babel/polyfill or yarn add @babel/polyfill
Добавить код импорта @babel/polyfill в src/main.js.
import '@babel/polyfill'
import Vue from 'vue'
// ...
Измените babel.config.js следующим образом:
module.exports = {
  presets: [
    [
      '@vue/app',
      {
        'useBuiltIns': 'entry'
      }
    ]
  ]
}
Создайте файл vue.config.js и создайте: (Добавьте существующие настройки, если они уже существуют.)
const ansiRegex = require('ansi-regex')

module.exports = {
    ......(기존 설정이 있다면 다음에 추가)
    transpileDependencies: [ansiRegex]
}

Примечание.Используйте es6-promise при использовании шаблона обещания.

...