问题原因
IE9-IE11 不兼容ES6语法
解决方案:
安装“babel-loader”
解决流程
停止项目运行
删除项目中node_modules
执行命令
npm install npm install -g webpack npm install --save-dev babel-loader babel-core babel-preset-env
修改vue.config.js配置文件
在vue.config.js中的module.exports里添加以下代码:
configureWebpack: { module: { rules: [ // \'transform-runtime\' 插件告訴 Babel // 要引用 runtime 來代替注入。 { test: /\.m?js$/, // exclude用上面配置的話,默認是過濾不編譯node_modules 路徑下的文件 // exclude: /(node_modules|bower_components)/, // include 指定需要編譯的文件路徑 include: [ resolve(\'src\'), resolve(\'node_modules/tree-table-vue/lib\'), resolve(\'node_modules/v-org-tree/dist\'), resolve(\'node_modules/iview/src/locale\'), // 下面三个根据需要自行添加 resolve(\'node_modules/rview-c/dist\'), resolve(\'node_modules/swiper/js\'), resolve(\'node_modules/dom7/dist\') ], use: { loader: \'babel-loader\', options: { presets: [\'@babel/preset-env\'] } } } ] } }
重新运行项目
npm run dev
清空IE浏览器缓存
输入网址测试
注意事项
- 不要使用cnpm安装以上插件,太坑了!!
- 如果执行npm install -g webapck 命令时,报错,不要惊慌
- 如果按照以上步骤,页面仍然空白,F12查看报错信息,点进去
上图中就是浏览器报的具体哪一个插件没有编译成es5导致报错,那么这时可以看到这个错误是strict-uri-encode,这个依赖没有编译,这时将这个包名strict-uri-encode写进vue.config.js中的configureWebpack里去,然后重新启动项目,那么这个错误就不会再报了。然后继续在ie中打开,看看还有什么其他依赖报错没有,至此iview-admin在ie中白屏不能使用的问题解决思路彻底完毕。