前言vue
由於工做的須要,學習Vue2.0也有一段時間,最近在用Vue2.0的官方腳手架工具構建的項目,chrome中跑一直沒有問題,但ie打開出現了bug:webpack
問題web
ie打開vue2.0項目空白,控制檯報錯 vuex requires a Promise polyfill in this browser;
vuex
緣由chrome
Babel 默認只轉換新的 JavaScript 句法(syntax),而不轉換新的 API ,好比 Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise 等全局對象,以及一些定義在全局對象上的方法(好比 Object.assign)都不會轉碼。爲了解決這個問題,咱們使用一種叫作 Polyfill(代碼填充,也可譯做兼容性補丁) 的技術。vue-cli
簡單地說,polyfill便是在當前運行環境中用來複制(意指模擬性的複製,而不是拷貝)尚不存在的原生 api 的代碼。npm
解決api
安裝babel-polyfill
bash
步驟babel
npm安裝 npm
install
--save-dev babel-polyfill 或 c
npm
install
--save-dev babel-polyfill
在main.js導入便可 import 'babel-polyfill'
若是也是用了官方腳手架vue-cli,還須要在webpack.config.js配置文件中作各修改,用
module.exports = {
entry: {
app: [
"babel-polyfill"
,
"./src/main.js"
]
}
};
module.exports = {
entry: {
app:
'./src/main.js'
}
}