Приложение My Vue использует проект boostrap-vue. Мое приложение не работает правильно в Internet Explorer 11 из-за совместимости с ES6, в частности
"TypeError: Object doesn't support property or method 'from'
at _iterableToArray (http://localhost:8081/app/app.js:66163:137)
Я полагаю, что это связано с использованием функции ES6 Array.from
, которая не поддерживается Internet Explorer.
В проекте bootstrap vue есть руководство по совместимости браузера , которое я попытался выполнить.
Core-js 3
Моей первой попыткой было использование core-jsкак полифилл. Когда я запускаю
npm install --save core-js@3 regenerator-runtime intersection-observer
, я получаю много недостающих зависимостей:
These dependencies were not found:
* core-js/modules/es6.array.find in ./src/helper/reporthelper.js
* core-js/modules/es6.array.sort in ./node_modules/cache-loader/dist/cjs.js??
...and many more...
Я исследовал это безуспешно. Единственные решения, о которых я слышал, это переход на core-js версии 2.
Core-js 2
Моя следующая попытка состояла в установке core-js 2
npm install --save core-js@2 regenerator-runtime intersection-observer
Затем в начало моего входного файла (main.js) я включаю core-js
import 'core-js'
import 'regenerator-runtime/runtime'
import Vue from "vue";
...
Эта попытка установлена нормально, но я получаю те же ошибки в IE
Вавилонский полифилл
Затем я попробовал устаревшую библиотеку babel polyfill.
npm install @babel/polyfill intersection-observer
И включил это в начало моего файла ввода
import '@babel/polyfill'
import 'intersection-observer' // Optional
import Vue from 'vue'
...
Опять же, это установило ОК, ноКажется, что polyfill не работает, и я получаю те же ошибки в IE.
Polyfill.io
В моей последней попытке я включил заголовок сценария на своей странице vue, чтобы включить polyfill.iopolyfill
<script crossorigin="anonymous" src="https://polyfill.io/v3/polyfill.min.js?features=es6%2CArray.from"></script>
Это сработало, моя функциональность работала правильно в IE11 без ошибок.
Я не хочу использовать этот метод, так как он включает в себя только полифилл на одной странице, и я хочуPolyfills, чтобы работать глобально в моем приложении.
Любые идеикак заставить это работать? В идеале я хотел бы использовать core-js @ 3, но я открыт для любых решений, которые будут работать во всем моем приложении.
Заранее спасибо.
РЕДАКТИРОВАТЬ: Я думаю, я мог бы включитьСценарий polyfill.io в моем заголовке index.html.