vue.js之路(5)——解决vuex requires a Promise polyfill in this browser问题

       造成这种现象的原因归根究底就是浏览器对ES6中的promise无法支持,因此需要通过引入babel-polyfill来是我们的浏览器正常使用es6的功能


        首先通过npm来安装:

        npm install babel-polyfill --save-dev


        接下来就是根据场景来引入

        目前本喵遇到的出现这种错误的场景有两种:


        1.在使用vue-cli搭建的unit测试时(npm run unit),因为测试时启动的浏览器不是我们常用的chrome,而是PhantomJs。为了能让其像chrome一样正常运转,需要在kara.confi.js中设置其在启动我们程序的入口文件前,先启动polyfill.js,配置部分如下:

files: [ '../../node_modules/babel-polyfill/dist/polyfill.js', './index.js'],

       

         2.在ie下运行时,也会出现同样的报错,解决方式类似,不过这次是在webpack.base.conf.js中配置::

         ps:这里在网上看到过三种配置方案:

         第一种:

entry: {
app: [ "babel-polyfill", "./src/main.js"]
}

             

         第二种:

entry: {
app: "./src/main.js",
"babel-polyfill" : "babel-polyfill"
}

           

               第三种:在main.js中全局import babel-polyfill

 

不知是否本喵是个例,以上方法均扑街.



最后使用直接引入node_modules中的js文件路径,最终成功,代码如下:

entry: {
app: [ './node_modules/babel-polyfill/dist/polyfill.js', './src/main.js']
},

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值