vue.js——解决vuex requires a Promise polyfill in this browser问题

解决vuex requires a Promise polyfill in this browser问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013034014/article/details/77775902

       造成这种现象的原因归根究底就是浏览器对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']

},

猜你喜欢

转载自blog.csdn.net/liaonanfeng88/article/details/84559661