Vue2.0的官方腳手架工具構(gòu)建的項(xiàng)目,chrome中跑一直沒有問題,但ie11打開出現(xiàn)了bug:
表現(xiàn):ie11打開vue2.0項(xiàng)目空白,控制臺報(bào)錯 vuex requires a Promise polyfill in this browser
毒租;
原因:Babel 默認(rèn)只轉(zhuǎn)換新的 JavaScript 句法(syntax),而不轉(zhuǎn)換新的 API 议纯,比如 Iterator晚缩、Generator、Set漱受、Maps逞泄、Proxy、Reflect拜效、Symbol喷众、Promise 等全局對象,以及一些定義在全局對象上的方法(比如 Object.assign)都不會轉(zhuǎn)碼紧憾。為了解決這個問題到千,我們使用一種叫做** Polyfill**(代碼填充,也可譯作兼容性補(bǔ)陡八搿) 的技術(shù)憔四。 簡單地說膀息,polyfill即是在當(dāng)前運(yùn)行環(huán)境中用來復(fù)制(意指模擬性的復(fù)制,而不是拷貝)尚不存在的原生 api 的代碼了赵。
解決: 安裝babel-polyfill
步驟
- npm安裝
npm install --save-dev babel-polyfill
- 在入口文件倒入即可
import 'babel-polyfill'
- 如果也是用了官方腳手架vue-cli潜支,還需要在
webpack.config.js
配置文件中做各修改,用
module.exports = {
entry: {
app: ["babel-polyfill", "./src/main.js"]
}
};
替換
module.exports = {
entry: {
app: './src/main.js'
}
}