首先说明本帖子纯手打,绝对可以解决实际问题,真心希望遇到问题的伙伴们仔细阅读以下每一个点,以免不能解决实际问题。
我遇到的坑导致分为两种,所以提供两种解决方案,两种方案结合使用必然能解决问题,但是报错的原因归根结底还是因为有一些es6语法没有转成es5导致的。
首先说 babel-polyfill 这个插件只能讲项目中的es6转为es5,但是并不会将node_modules中的es6转义,所以这也是大部分情况只安装一个babel-polyfill不能解决报错问题的根本原因,为了将node_modules中的es6也进行转义,要在vue.config.js中加一个配置项。
transpileDependencies: [
'axios', //具体的插件依赖包名根据自己项目报错的提示进行配置
'query-string',
'iView',
'iviewArea',
'VueI18n',
'VueStomp',
'VueLazyload',
'sockjs',
'split-on-first',
// 'strict-uri-encode'
]
一、添加 npm install --save babel-polyfill ,安装完一来之后在main.js中引入
这种方法百度的时候百分之90是这种方法,一开始我是用这种方法也是不行最后捣鼓了半天,到最后看了一篇博客不经意间发现了一个问题就是main.js中的babel-polyfill引用顺序,一开始我装完babel-polyfill插件在main.js中最后引入的不起作用,后来我把import 'babel-polyfill' 放在第一个引入,就成了。同学们可以试试,但是记得改完配置要重启项目
二、第二种情况就是我按照方法一做完之后再ie中还是白屏报错。但是代码因为source-map的原因被压缩所以看不到具体报错的原因,首先去掉压缩。要保证能看到具体报错
我的项目是vue-cli3搭建的所以我首先在vue.config.js中加上配置项,加上之后重启项目,在打开的时候可以定位到具体错误
configureWebpack: config => {
//调试JS
config.devtool = "source-map";
},
比如这样