vue.js之路(5)——解決vuex requires a Promise polyfill in this browser問題
阿新 • • 發佈:2019-02-02
造成這種現象的原因歸根究底就是瀏覽器對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,配置部分如下:
2.在ie下執行時,也會出現同樣的報錯,解決方式類似,不過這次是在webpack.base.conf.js中配置::
ps:這裡在網上看到過三種配置方案:
第一種:
entry: { app: ["babel-polyfill","./src/main.js"] }第二種:
entry: { app: "./src/main.js", "babel-polyfill"第三種:在main.js中全域性import babel-polyfill
不知是否本喵是個例,以上方法均撲街.
最後使用直接引入node_modules中的js檔案路徑,最終成功,程式碼如下:
entry: { app: ['./node_modules/babel-polyfill/dist/polyfill.js','./src/main.js'] },