1. 程式人生 > >vue.js之路(5)——解決vuex requires a Promise polyfill in this browser問題

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'] },