代码之家  ›  专栏  ›  技术社区  ›  TitanFighter

iOS 9:_意外使用保留字_让_在严格模式下_+_ can__t find variable:fetch__。发泄问题?如何修复?

  •  0
  • TitanFighter  · 技术社区  · 6 年前

    通过使用vuelic 3“从盒子里”,我发现我的代码在我的iPad2(iOS 9.3)上不起作用,使用iOS 9.3模拟器,我得到了以下错误:

    1)“在严格模式下意外使用保留字'let'。为了测试的目的,我发现了哪个外部组件产生这个错误,并临时删除了它,但后来又出现了另一个错误…

    2)“找不到变量:fetch”。我发现 fetch 由阿波罗链接使用。

    看来,由于某种原因,我的计划无法完成,但是看起来我已经尽力了所有提到的事情。 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,IOS9不支持,但我认为软件与这个问题没有任何关系,因为它不应该被IOS9注册/忽略。

    我发现iOS 9既不支持也不支持 let 也不 fetch 但据我所知,Vue CLI应该根据我的设置来处理它。我错过任何设置了吗?

    那么,我应该怎么做才能让这个项目在iOS9上工作呢?

    编辑:

    1) let 是来自 vue-draggable-resizable 我暂时把它移走了。

    2) 取来 我通过增加 import 'whatwg-fetch' MIN JS

    现在我看到了下一个问题: Unexpected keyword 'const'. Const declarations are not supported in strict mode .

    正如我从第三个示例中看到的, the Babel home page ,Babel支架 const 它必须被传播,但在汇编 chunk-vendors.xyz.js 产生上述所有错误的文件,现在我看到507 康斯特 是的,好像 build 忽视巴别塔。

    我会感激你的任何想法。

    1 回复  |  直到 6 年前
        1
  •  1
  •   TitanFighter    6 年前

    我一个接一个地检查了所有依赖项--只是在 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' MIN JS

    module.exports = {
      ...
      transpileDependencies: ['bootstrap-vue', 'vue-draggable-resizable']
    }
    

    vue.config.js .