vue 单页面应用中遇到的与IE9有关的坑(一)----IE9不懂ES6

        最近几个项目基本都是使用vue 2.x,也是经常碰到浏览器兼容性问题的处理,主要还是针对IE浏览器。Vue 官方对于IE 浏览器版本兼容情况的描述是IE9+, vuejs 本身以及生态的官方核心插件(VueRouter、Vuex等)均可以在 IE9 上正常使用。但是是什么导致在IE9甚至更高版本的IE浏览器中产生兼容问题呢?其中一个原因就是:版本较旧的浏览器并不支持ES6 规范,尤其是 IE 浏览器,即使是最高的 IE11 版本,对于ES6 规范也支持得并不全。
        在IE9 的环境上,ES6 的部分新对象、表达式,并不支持,解决方案是使用 babel-polyfill 组件,它可以将 ES6 的代码翻译成低版本浏览器可以识别的 ES5 代码。
        比如:项目中使用到http库axios,而axios是基于promise,promise是ES6中的一个新对象,IE9浏览器是不支持该对象的。
        如下:在IE浏览器控制台执行

new Promise(function(){ });

控制台显示promise未定义。

 本地调试程序时,浏览器便会出现如下报错: 

 为解决此类对ES6不支持的情况,需要引入 babel-polyfill 插件
        1、 npm -i --save babel-polyfill
        2、同时需要在main.js文件引入,
             import 'babel-polyifll'
        3、修改webpack配置文件webpack.base.conf.js
              entry:{ 
                    app:['babel-polyfill','./src/main.js'] 
              }
如此,该问题解决。如有问题,欢迎指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值