Я провожу несколько дней, чтобы настроить проект vue.js + vue-cli + typescript + vuetify для работы с IE 11 безуспешно?
Я нашел много постов в сети, которые объясняют, как это должно быть сделано, но безуспешно.Я попытался объединить почти все возможные способы, описанные ниже, но безуспешно, с множеством разных ошибок, вплоть до пустой страницы
Приложение работает нормально с Chrome или FF
Если у кого-то есть такое приложение, работающее в IE 11, оно будет высоко оценено
Context (все последние версии):
- vue-cli
- машинопись
- vue.js + vue-router + vuex + vuex-persistedstate
- vuetify + vue-i18n + vuelidate
- axios
Извините, если какой-то вопрос кажется глупым, так как я довольно новичок в разработке babel / webpack ..
Что я пробовал и вопросы : (Япопробовал почти все комбинации в следующем)
- Должен ли я использовать
npm install babel-polyfill --save
, как описано в vuetify setup для IE 11 здесь ? - Должен ли я добавить
import 'babel-polyfill'
в main.ts
, как объяснено в настройке vuetify для IE 11 здесь ? - Или я должен добавить
import '@babel/polyfill'
в main.ts
как объяснено здесь - Должен ли я использовать
npm install @babel/preset-env --save-dev
, как объяснено в настройке vuetify для IE 11 здесь или это не нужно из-за использования vue-cli
? в babel.config.js
, должен ли я заменить контент, первоначально созданный vue-cli
presets: [
'@vue/app'
]
на , как объяснено здесь
presets: ['@babel/preset-env']
или (как видно во многих местах)?
presets: [['@vue/app', useBuiltIns: 'entry' }]]
или добавить 2 пресета?
presets: [
['@babel/preset-env'],
['@vue/app', useBuiltIns: 'entry' }]
]
Должен ли я добавить некоторые плагины, такие как , объясненные здесь ?
presets: ['@vue/app'],
plugins: ['@babel/transform-modules-commonjs']
Или измените его следующим образом , как описано в документе Vue здесь ?
presets: [
['@vue/app', {
polyfills: [
'es6.promise',
'es6.symbol'
]
}]
]
в vue.config.js
, следует добавить?
transpileDependencies: [
'vuetify',
'vue-i18n',
'vuelidate',
'axios'
]
[РЕШЕНИЕ 2019-06-25]
Наконец-то все заработало, ответ от @blackening был очень полезным Это случилосьтакже, что у нас были ошибки javsacript в IE 11 с google "reCaptcha"
, которые исчезли после следующей настройки:
В качестве предварительного условия, vue-cli
установлен, и проект создается путем выбора `'Использовать Babel вместе с TypeScriptдля автоматически обнаруженных полифилов
1) установить core-js@3
npm install core-js@3
2) отредактировать main.ts
так:
import 'core-js/stable'
import Vue from 'vue'
import '@/plugins/vuetify'
{...}
3) отредактировать babel.config.js
module.exports = {
presets: [
['@vue/app', { useBuiltIns: 'entry' }]
]
}
И это все!
Сейчас мы боремся с IE 11 CSS, но это известная история ... Например, в vue
для применения стиля только к IE,просто закодируйте это так
<style scoped>
/* Only for IE 11, wrap div text */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
.ieMaxWidth90 {
max-width: 90vw; /* 90% view width */
}
}
</style>