使用VueCli 3“从盒子里”,我发现,我的代码在我的iPad 2(iOS 9.3)上不起作用,使用iOS 9.3模拟器我得到了下一个错误:
1)“在严格模式下意外使用保留字'let'” . 为了测试目的,我发现,哪个外部组件产生了这个错误并临时删除了它,但后来又出现了另一个错误......
2)"Can't find variable: fetch" . 我发现 fetch
被apollo-link使用 .
看来,由于某些原因,我的项目无法转化,但看起来我尝试了所有提到的所有内容on this doc page .
为了以某种方式转换项目我试图做的事情:
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忽略 .
我发现,iOS 9既不支持_56180也不支持fetch,但据我了解,vue-cli应根据我的设置处理它 . 我错过了任何设置吗?
那么,为了让项目在iOS 9上运行,我该怎么做?
EDIT:
1) let
来自 vue-draggable-resizable
,我暂时删除了 .
2) fetch
我通过将 import 'whatwg-fetch'
添加到 main.js
来修复
现在我看到下一个问题: Unexpected keyword 'const'. Const declarations are not supported in strict mode
.
正如我从the Babel home page的第3个例子中看到的那样,Babel支持 const
并且它必须被转换,但是在编译的 chunk-vendors.xyz.js
文件中,它产生了上面提到的所有错误,现在我看到507 const
. 似乎 build
忽略了巴贝尔 .
我会很感激任何想法 .
1 回答
我逐个检查了所有依赖项 - >只是在
main.js
和App.vue
中逐个注释导入的组件更改为:结果是:
1)
boostrap-vue
产生const
问题2)
vue-draggable-resizable
产生let
问题 .3)
apollo-link
产生fetch
问题 .所以,在我的情况下,我需要将
import 'whatwg-fetch'
添加到main.js
和到
vue.config.js
.