Используя VueCli 3 «из коробки», я обнаружил, что мой код не работает на моем iPad 2 (iOS 9.3) и, используя эмулятор iOS 9.3, я получил следующие ошибки:
1) «неожиданноиспользование зарезервированного слова 'let' в строгом режиме ".В целях тестирования я обнаружил, какой внешний компонент создает эту ошибку, и временно удалил ее, но затем я получил еще одну ошибку ...
2) "Не удается найти переменную: выборка".Я обнаружил, что fetch
используется apollo-link.
Кажется, что по какой-то причине мой проект не может быть перенесен, однако похоже, что я пробовал все, что упоминается на этой странице документа.
Что я пытался сделать, чтобы каким-то образом перенести проект:
1) Я добавил iOS >= 9.3
к .browserlistrc
-> ничего не изменилось;
2) Добавлено import '@babel/polyfill'
в main.js
и
module.exports = {
presets: [
['@vue/app', { useBuiltIns: "entry" }]
]
}
в babel.config.js
-> ничего не изменилось;
3) Попытка включить / выключить modern mode
-> ничегоизменено;
4) Пытался добавить
module.exports = {
...
transpileDependencies: ['vue-apollo']
}
к vue.config.js
-> ничего не изменилось.
На всякий случай, мой dependencies
:
"dependencies": {
"bootstrap-vue": "^2.0.0-rc.11",
"register-service-worker": "^1.5.2",
"vue": "^2.5.17",
"vue-apollo": "^3.0.0-beta.11",
"vue-awesome-swiper": "^3.1.3",
"vue-draggable-resizable": "git+https://github.com/mauricius/vue-draggable-resizable.git#develop",
"vue-router": "^3.0.1",
"vue-youtube": "^1.3.0",
"vuedraggable": "^2.17.0",
"vuex": "^3.0.1",
"vuex-persistedstate": "^2.5.4"
},
Так что ничего не помогло -> все еще проблема с iOS 9.3.Мой проект использует PWA / ServiceWorker, который iOS 9 не поддерживает, но я не думаю, что SW имеет какое-либо отношение к этой проблеме, так как он просто не должен быть зарегистрирован / должен игнорироваться iOS 9.
Iобнаружил, что iOS 9 не поддерживает ни let , ни fetch , но, как я понимаю, vue-cli должен справиться с этим исходя из моих настроек.Я пропустил какие-либо настройки?
Итак, что я должен сделать, чтобы проект работал на iOS 9?
РЕДАКТИРОВАТЬ:
1) let
от vue-draggable-resizable
, который я временно удалил.
2) fetch
Я исправил, добавив import 'whatwg-fetch'
к main.js
Теперь я вижу следующую проблему:Unexpected keyword 'const'. Const declarations are not supported in strict mode
.
Как видно из 3-го примера с домашней страницы Babel , Babel поддерживает const
, и он должен передаваться, но в скомпилированном файле chunk-vendors.xyz.js
, которыйпроизводит все ошибки, упомянутые выше, теперь я вижу 507 const
.Кажется, build
игнорирует Бабел.
Буду признателен за любые идеи.