首页 文章

iOS 9:“在严格模式下意外使用保留字'let'”“无法找到变量:fetch” . 透明问题?怎么修?

提问于
浏览
0

使用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 回答

  • 0

    我逐个检查了所有依赖项 - >只是在 main.jsApp.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 .

相关问题