IE11 打开 Vue 2.0 项目,空白页,并报错:vuex requires a Promise polyfill in this browser

原因:

Babel 默认只转换新的 JavaScript 句法(syntax),而不转换新的 API ,比如 Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise 等全局对象,以及一些定义在全局对象上的方法(比如 Object.assign)都不会转码。为了解决这个问题,我们使用一种叫做 Polyfill(代码填充,也可译作兼容性补丁) 的技术。

简单地说,polyfill即是在当前运行环境中用来复制(意指模拟性的复制,而不是拷贝)尚不存在的原生 api 的代码。

解决方法:

安装 babel-polyfillnpm install babel-polyfill --save-dev

在入口文件 main.js 中引入 import 'babel-polyfill'

如果也是用了官方脚手架 vue-cli,还需要在 webpack.config.js 配置文件中做修改

module.exports = {
 entry: {
 app: ["babel-polyfill", "./src/main.js"]
 }
};
Logo

前往低代码交流专区

更多推荐