Vue Boostrap Array из полифилла - PullRequest
       43

Vue Boostrap Array из полифилла

0 голосов
/ 22 октября 2019

Приложение 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.

...