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