Vue+Element ui开发中碰到的IE问题

IE9样式错乱,IE11无法正常加载v-loading等问题

引入了babel-polyfill插件,依然出现"polyfill-eventsource added missing EventSource to window"的奇怪问题(ie所有版本都有出现)

  1. 第一步:安装babel-polyfill(已安装请跳过此步骤)

      yarn add babel-polyfill
    
  2. 修改webpack打包配置文件:webpack.bash.conf.js

      // 引入babel-polyfill
      var babelPolyfill = require('babel-polyfill')
    
      // ...
      // 修改entry字段
      entry: {
        // app: './src/main.js'
        app: ["babel-polyfill", "./src/main.js"]
      },
    
  3. 重新运行,v-loading等问题完美解决, 原因可能是v-loading是调用的ES6的Object的setter和getter方法来实现的,babel-polyfill报错,未能将ES6的方法完全转换为IE9支持的ES5方法

IE9样式错乱

  • 可能的原因1,element-ui 中使用了 display: flex; 样式,IE9不支持次样式,解决方法为,排查下各组件,避免使用带 display: flex; 的组件
  • 可能的原因2,IE9浏览器过于老旧,单文件最大行数超过一定限制将不再读取后边的内容,因此可以尝试分割css文件和打包的js文件
  1. 分割js文件,最好的方法是采用vue的路由懒加载,这样打包时,vue-loader会把每个路由对应的js文件打包在一起。同时注意组件的合理划分,避免单组件体积过大,并提高组件的复用性
  2. 分割css文件,通过yarn add css-split-webpack-plugin -D安装css-split-webpack-plugin包来分割组件,修改webpack.prod.conf.js文件
      // 引入依赖
      var CSSSplitWebpackPlugin = require('css-split-webpack-plugin').default
    
      // 在css打包插件后面新增css分割插件
      new ExtractTextPlugin({
        filename: utils.assetsPath('css/[name].[contenthash].css')
      }),
      // 新增的css分割插件
      new CSSSplitWebpackPlugin({
        size: 4000,
        filename: utils.assetsPath('css/[name]-[part].[ext]')
      }),
    

以上,写bug我最擅长了,找问题就不是我擅长的了@_@!。虽然问题解决了,但是可能分析的不对,希望大神拍砖指导,也希望对新手小白有一些帮助

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值