vue cli3 ios12报错不支持es6,那么改怎么转成es5呢?

项目使用的是vue-cli3生成出来的。打包出来的项目在iPhone6s,ios13运行时可以的,IOS12运行就报错。提示不支持es6的语法。
网上看了很多教程仍然无法解决。
WechatIMG5 1.jpeg
vue-cli手册提到了浏览器兼容性。也尝试修改了,应该是我水平不够导致修改之后也没解决这个问题
https://cli.vuejs.org/zh/guid...

阅读 10.2k
3 个回答

可能是依赖的问题,依赖是不会被转译的,检查一下所有依赖的浏览器兼容性

可以使用babel进行代码转译,将ES6的语法转译成ES5的语法就可以了
.babelrc文件这样配置

{
  "presets": [
    ["env", {
      "modules": false,
      "targets": {
        "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
      }
    }],
    "stage-2"
  ],
  "plugins":["transform-vue-jsx", "transform-runtime"]
}

vue cli4 创建出来的项目直接就配置好了babel的处理。
如果是vue cli3,可以手动配置:

// babel.config.js
module.exports = {
  presets: [
    ['@vue/app', {
      'targets': {
        'browsers': ['ie >= 9']
      },
      'loose': true,
      'debug': false,
      useBuiltIns: 'entry',
      polyfills: [
        'es6.promise',
        'es6.symbol'
      ]
    }]

  ]
}
//main.js
import '@babel/polyfill';
....
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏