使用VueCli 3“从盒子里”,我发现我的代码在我的iPad 2(iOS 9.3)上不起作用,并且使用iOS 9.3仿真器,我遇到了下一个错误:
1)“在严格模式下意外使用保留字'let'”。出于测试目的,我发现哪个外部组件会产生此错误并暂时将其删除,但随后又出现了另一个错误...
2)“找不到变量:提取”。我发现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仍然有问题。我的项目使用的是iOS 9不支持的PWA / ServiceWorker,但我认为SW与该问题没有任何关系,因为它根本不应该被注册/应该被iOS 9忽略。
我发现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
。
从the Babel home page的第三个示例中可以看到,Babel支持const
,必须对其进行转译,但是在已编译的chunk-vendors.xyz.js
文件中,该文件会产生上述所有错误,现在我看到507个const
。似乎build
忽略了Babel。
我将不胜感激。
答案 0 :(得分:1)
我一一检查了我所有的依赖关系->刚在main.js
中将导入的组件一一注释,并将App.vue
更改为:
<template>
<div id="app">
TEST
</div>
</template>
结果是:
1)boostrap-vue
产生了const
问题
2)vue-draggable-resizable
产生了let
个问题。
3)apollo-link
产生了fetch
问题。
因此,就我而言,我需要将import 'whatwg-fetch'
添加到main.js
和
module.exports = {
...
transpileDependencies: ['bootstrap-vue', 'vue-draggable-resizable']
}
到vue.config.js
。