ios - iOS 9:“在严格模式下意外使用了保留字 'let'”+“找不到变量:获取”。转译问题?怎么修?
问题描述
我发现使用“开箱即用”的 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 仍然存在问题。我的项目使用 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
.
正如我从Babel 主页的第三个示例中看到的那样,Babel 支持const
并且必须对其进行转译,但是在chunk-vendors.xyz.js
产生上述所有错误的编译文件中,现在我看到了 507 const
。似乎build
忽略了巴别塔。
我会很感激任何想法。
解决方案
我一一检查了我的所有依赖项->只是将导入的组件一一注释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
.
推荐阅读
- angular - 如何为行为主题编写单元测试
- java - Spring-Mongo $ne 支持:如何在按字段方法查找中使用 $ne?
- amazon-web-services - SLURM:我应该如何理解 ntasks 参数?
- python - 当合并 2 个包含重复行的相同文件时,python pandas 的输出中会出现双倍的行数
- javascript - 使用按钮开始和停止彩票播放器/动画
- docker - 如何将 APM 服务器配置为 docker-compose 文件
- bamboo - 如何在 Bamboo 中使用脚本生成的文件作为工件
- netlogo - 错误:WITH 期望这个输入是一个代理集,但得到了一个补丁
- ruby-on-rails - Rails 如何找到尚未与用户关联的不区分大小写的值?
- api - HERE 如何通过发现获得 100 多个地点