❝今年年初加入了物资团队,遇到的第一个问题就是解决IE的兼容性问题。
❞
1 现象
当时的情况是IE浏览器在登录系统时,登录页无法加载,页面显示空白,所以也无法访问系统里的其他页面。
2 查看报错
在IE浏览器中输入系统网址,打开控制台,发现有这样的报错:SCRIPT1003: 缺少 ':'
第一个想法就是需要对webpack进行一些兼容性配置,于是小编低下头默默的先进行了一通通用配置操作。
3 进行通用兼容性配置
由于本系统前端框架用到的脚手架是3.x版本,因此得针对cli3来进行配置。
3.1 对vue.config.js文件进行检查
3.2 引入polyfill
cnpm install babel-polyfill –Dcnpm install es6-promise –D
3.3 配置presets
打开babel.config.js文件,将presets进行如下设置:
module.exports = {// vuecli3 不需要配置transform-vue-jsxpresets: [['@vue/app',{ useBuiltIns: 'entry', polyfills: ['es6.promise', 'es6.symbol'] } ] ], plugins: ['lodash', 'jsx-v-model'] }
3.4 入口文件的配置
打开main.js文件,将3.1安装的polyfill进行引入:
import '@babel/polyfill'import Es6Promise from 'es6-promise'Es6Promise.polyfill()
4进行第三方库的排查
进行通用配置之后,仍然报错,这时候就可以确定剩下的原因是由于第三方插件引起的,需要在package.json文件中查看引入了哪些第三方库。
将可能会有兼容性问题的库引入到vue.config.js文件下的transpileDependencies集合中,经排查,将以下两个库补充进集合中:
vueConfigs = {transpileDependencies: ['vue-echarts','resize-detector','v-contextmenu','vue-runtime-helpers' ]
5 测试
配置完成后,重新启动项目
进行验证,这时候发现可以成功登录系统并进入首页。
到此为止这个问题也就解决了,可以顺利加载出登录页面,并且成功登进了系统。
顺利解决,喜大普奔。