vue cli记录一次因三方依赖插件未进行bable编译造成的ie不兼容问题

vue cli记录一次因三方依赖插件未进行bable编译造成的ie不兼容问题
因业务需求,vue项目中需要使用一个拖拽缩放插件vue-grid-layout 业务完成后客户需要兼容ie,

微软宣布将于美国当地时间6月15日(北京时间6月16日),停止对IE( Internet Explorer)浏览器的所有支持和更新,为这款服务用户超过27年的浏览器画上句号。未来,将由微软推出的Edge浏览器接棒。

吐槽一下,解决兼容问题当天就是微软宣布停止使用ie的时候

打包好的项目在谷歌浏览器跑没问题,一到ie果然报错
在这里插入图片描述
在这里插入图片描述
根据js map地图看一下报错内容 说的就是vue-grid-layout插件语法问题,说明我们项目打包的时候未编译vue-grid-layou,去依赖包中找这句代码改了不就完事,当时的我想的太简单,项目中根本没写这句代码,那就能断定是vue-grid-layou使用的依赖包有问题

果然在仔细看看source map地图,指出了这句代码是来自vue-grid-layou使用的依赖包@interactjs未进行bable编译,去vue-grid-layou中的node_modules看源码验证一波

在这里插入图片描述

问题确实如此,那就重新打包一下vue-grid-layou项目

  1. 确保vue-@vue/cli-plugin-babel版本问题 不然容易打包报错
  2. 修改bable.config.js配置 用最新预设项目 防止意外报错
  3. 重新配置vue.config,js文件 默认不会打包第三方库的内容 我们指定需要打包的库

1
在这里插入图片描述
2

//bable.config.js
module.exports = {
  //old_________
    // presets: [
    //     '@vue/app',
    //     '@babel/preset-env'
    // ],
    //new_________
    presets: ["@vue/cli-plugin-babel/preset"],
    "plugins": [
        "transform-flow-comments"
    ]
}

3 参考https://cli.vuejs.org/zh/config/#transpiledependencies

//vue.config.js
module.exports = {
//这是指定要打包的三方库  参考https://cli.vuejs.org/zh/config/#transpiledependencies
  transpileDependencies: [
    // @interactjs/utils/raf.js
    /[/\\]node_modules[/\\]@interactjs[/\\]/,
  ]
  }

然后我们在vue-grid-layou重新打包看看打包后的文件

之前的
在这里插入图片描述

之后的
在这里插入图片描述
OK 完美解决
这个是我将vue-grid-layou当独提取出来修改的 原项目的东西没去修改过 所以还得将新的打包文件覆盖原项目中ndoe_modules中vue-grid-layou打包后的文件,
最后在将自己的项目打包一次看看
在这里插入图片描述
ie中正常运行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值