@antv/g6在ie11报语法错误,兼容处理

错误分析:
在这里插入图片描述
上图清晰明了指出@antv/g6在es6转es5的时候没全部转换完,ie不识别es6代码,所以要添加一个babel-profill。
项目中引入babel-polyfill,安装方法可以自行百度,在这里我直接上命令:

npm i --save babel-polyfill

第一步:引入babel-polyfill

引入babel-polyfill的方式无非有以下几种
1.在main.js的顶部直接使用 import ‘babel-polyfill’
2.在vue.config.js中,直接在chainWebpack内添加以下代码,只需要引入一处即可

chainWebpack: config => {
    config.entry('main').add('babel-polyfill')
    config.entry.app = ['babel-polyfill', './src/main.js']
  }

第二步:在babel.config.js中设置entry

module.exports = {
  //让G6支持IE  https://g6.antv.vision/zh/docs/manual/FAQ/supportIE 
  sourceType: 'unambiguous',
  presets: ['@vue/app'],//此处和官网不一样,官网为['@vue/cli-plugin-babel/preset']
}

第三步:将@antv/g6依赖包添加transpileDependencies

Vue cli3以上版本使用core-js基本上解决了大部分的IE兼容问题,但不少第三方库(node_modules中)将es6语句转换成es5时做得不彻底,无形中会引入新的IE兼容问题。一般的webpack cli工程为了编译得快,默认情况下babel-loader会忽略所有node_modules中的文件。如果想要通过Babel显式转译一个依赖,可以在transpileDependencies选项中列出来,然后在使用工程中再转换。

transpileDependencies: ["@antv/g", "@antv/g6"]

注意:3.2.10以下版本的@antv/g跑这个示例都必须设置"@antv/g"依赖项。3.2.10~3.8.5版本设置"@antv/g6"依赖项,注意@antv/g6 4.0.4以上版本不能兼容IE

最后提一句:珍爱生命,远离IE!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值