解决Vue+Element ui开发中碰到的IE问题
2018-09-26 20:09
IE9样式错乱,IE11无法正常加载v-loading等问题
引入了babel-polyfill插件,依然出现”polyfill-eventsource added missing EventSource to window”的奇怪问题(ie所有版本都有出现)
第一步:安装babel-ployfill (已安装请跳过此步骤)
yarn add babel-ployfill
修改webpack打包配置文件:f.js
// 引入babel-ployfill var babelPloyfill = require(babel-ployfill) // ... // 修改entry字段 entry: { // app: ./src/main.js app: [babel-polyfill, ./src/main.js] },
重新运行,v-loading等问题完美解决, 原因可能是v-loading是调用的ES6的Object的setter和getter方法来实现的,babel-ployfill报错,未能将ES6的方法完全转换为IE9支持的ES5方法
IE9样式错乱
可能的原因1,element-ui 中使用了 display: flex; 样式,IE9不支持次样式,解决方法为,排查下各组件,避免使用带 display: flex; 的组件
可能的原因2,IE9浏览器过于老旧,单文件最大行数超过一定限制将不再读取后边的内容,因此可以尝试分割css文件和打包的js文件
分割js文件,最好的方法是采用vue的路由懒加载,这样打包时,vue-loader会把每个路由对应的js文件打包在一起。同时注意组件的合理划分,避免单组件体积过大,并提高组件的复用性
分割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我最擅长了,找问题就不是我擅长的了@_@!。虽然问题解决了,但是可能分析的不对,希望大神拍砖指导,也希望对新手小白有一些帮助。
这篇解决Vue+Element ui开发中碰到的IE问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。