Vue2.0爬坑:ie11中打开项目页面空白

来源:http://www.prospettivedarte.com 作者:计算机教程 人气:123 发布时间:2019-08-09
摘要:前言 Vue2.0的官方脚手架工具构建的项目,chrome中跑一直没有问题,但ie11打开出现了bug: 表现: ie11打开vue2.0项目空白,控制台报错 vuex requires a Promise polyfill in this browser ; 原因: Babel

前言

Vue2.0的官方脚手架工具构建的项目,chrome中跑一直没有问题,但ie11打开出现了bug:
表现:ie11打开vue2.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-polyfill

因为工作的需要,学习Vue2.0也有一段时间,最近在用Vue2.0的官方脚手架工具构建的项目,chrome中跑一直没有问题,但ie11打开出现了bug:

步骤

  • 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'
}
}

问题

ie11打开vue2.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-polyfill

步骤

npm安装

本文由皇牌天下投注网发布于计算机教程,转载请注明出处:Vue2.0爬坑:ie11中打开项目页面空白

关键词:

最火资讯