今天在做一個(gè)vue2項(xiàng)目時(shí),引入了vuex做一些狀態(tài)管理,結(jié)果調(diào)試發(fā)現(xiàn)在ie11以下頁(yè)面顯示不出來(lái),打開(kāi)控制臺(tái)發(fā)現(xiàn)出現(xiàn)如下錯(cuò)誤:
[vuex] vuex requires a Promise polyfill in this browser.
意思為vuex需要在這個(gè)瀏覽器上解析不了 因?yàn)関uex基于promise, IE瀏覽器沒(méi)有內(nèi)置Promise對(duì)象那么此時(shí)我們需要一個(gè)解析promise ES6語(yǔ)法的東西。不僅如此,幾乎所有的ES6新增的方法在IE都不能用,比如Array.from食侮。因?yàn)閎abel
只會(huì)轉(zhuǎn)譯語(yǔ)法,并不會(huì)新增方法目胡。此時(shí)你需要babel Polyfill
polyfill
polyfill是一種js庫(kù)锯七,為低版本的js環(huán)境補(bǔ)足高版本js里定義的一些原生功能
用法十分簡(jiǎn)單如下:
1:下載
npm install --save babel-polyfill
2 :
方法一 :在main.js最頂部加入
import 'babel-polyfill';//解決ie瀏覽器不支持promise
方法二:或者在webpack中加入
module.exports = {
// entry: { // 這是原本腳手架配置的
// app: './src/main.js'
// },
entry: { // 替換成
app: ['babel-polyfill','./src/main.js']
},
}
這種需要重新npm run dev 因?yàn)楦牧藈ebpack的配置
兩種加入方法都可以解決,個(gè)人建議第一種方便快捷誉己,此時(shí)重新打開(kāi)瀏覽器項(xiàng)目就能正常解析了眉尸。