vue-cli3在IE浏览器打开兼容问题

问题描述

vue打包的项目在ie浏览器上,不能打开。找了一天的解决方案,解决一个又报一个兼容错误,一步一坑一步一填,终于解决了问题🙂。我们需要了解的ie浏览器支持版本大于ie8。

方案

第一步:安装babel-polyfill依赖

解决es6语法的兼容问题

npm install babel-polyfill --save-dev

在main.js 文件中引用这个库,import ‘babel-polyfill’

第二步:安装es6-promise依赖

走了第一步,又出现了一个坑,ie浏览器不认识promise。需要我们在添加下面的依赖。

npm install es6-promise --save-dev

在main.js文件引入下面的内容。 

import promise from ‘es6-promise'
promise.polyfill()

第三步:解决引用第三方库IE浏览器不识别

项目中引入iview和我们公司自己样式库,部分语法在ie浏览器上不能识别报错。

在项目的根目录中找到vue.config.js文件,修改webpack的配置。

 chainWebpack: config => {
   config.module.rule('iview')
     .test(/\.js$/)
     .use('babel')
     .loader('babel-loader')
     .end()
 }

vue-cli 在IE下兼容设置

首先看 vue 官网上给出的 vue-cli 在浏览器中的兼容性,图中表示是兼容 IE 9的,但是在IE9中打开项目会发现一片空白。

解决办法如下

第一步、安装 babel-polyfill

npm install --save babel-polyfill

第二步、在 main.js 中的最前面引入 babel-polyfill

import 'babel-polyfill';

第四步、修改 config 中的 webpack.base.conf.js 中的编译配置

entry: {
	// app: './src/main.js',
	app: ["babel-polyfill", "./src/main.js"]
}

如果你只用到了 axios 只需要对 promise 进行兼容,可以只用 es6-promise

npm install es6-promise --save

在 main.js 中的最前面引入

import 'es6-promise/auto';

完成以上配置,IE 9 兼容就完成了。

全局引入 babel-polyfill 有 90KB 以上,

也可以不安装 babel-polyfill,使用以下方式:在 index.heml 页面最前面添加以下代码。

<script src="https://cdn.staticfile.org/babel-polyfill/6.2.4/polyfill.min.js"></script>

然后修改 webpack.base.conf.js

externals: {
	'vue': 'Vue',
	'element-ui': 'ELEMENT',
	'vue-router': 'VueRouter',
	'vuex': 'Vuex',
	'echarts': 'echarts',
	'babel-polyfill': 'window'
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持Devmax。

vue-cli3项目在IE浏览器打开兼容问题及解决的更多相关文章

  1. vue项目兼容ie11的实现方法

    本文主要介绍了vue项目兼容ie11的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  2. 获取IE浏览器Cookie信息的方法

    下面小编就为大家带来一篇获取IE浏览器Cookie信息的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  3. IOS11新特性与兼容适配

    iOS 11正式发布了,下面整理了一些该版本下的特点还有如何进行兼容适配工作需要做的事情,希望能够给你提供到帮助。

  4. vue-cli3中如何打包成zip压缩文件

    这篇文章主要介绍了vue-cli3中如何打包成zip压缩文件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  5. javascript四个方向无间隙滚动合集(多浏览器IE,firefox兼容)

    比较有想法的四个方向,多浏览器兼容的无缝隙滚动效果脚本

  6. javaScript事件机制兼容【详细整理】

    下面小编就为大家带来一篇javaScript事件机制兼容【详细整理】。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  7. TypeScript中类型兼容性的示例详解

    JavaScript是一门弱类型语言,它对类型是弱校验,所以才有了TypeScript。本文就来和大家一起看看TypeScript的类型兼容性的概念和分类,需要的可以参考一下

  8. PHP4与PHP3中一个不兼容问题的解决方法

    PHP4与PHP3中有些不兼容的地方,但这主要是PHP4中的PHP.ini中的设置有些不同的地方,这些改变主要是提高PHP4的效率。其中的改变中,track_vars的设置通常会是使旧的PHP3程序不能再运行了,因为在PHP4的扩展设置中把track_vars的值设为了off这样旧的PHP3程序中就不能直接用GET,POST,COOKIE从上页传送过来的变量了。我这里有一个简单的解决的方法,不用把track_vars的是设为on,不过这只是一个权宜办法,以后大家还是用$HTTP_GET_VARS,$HTT

  9. PHP5.0正式发布 不完全兼容PHP4 新增多项功能

    期待已久的PHP5终于在当地时间7月13日正式发布了。这极大限制了利用PHP来完成大规模应用程序的能力。而PHP5的诞生,则从根本上改变了PHP的上述弊端。我们预计,PHP5的出现,将会给整个PHP社区带来新的一轮各种库、应用开发改进的高峰。PHP5.0版本强化了以下功能。因此,PHP5并非与PHP4完全兼容,不过,提供名为PHP兼容模式的功能。其次是XML功能,PHP5.0版本支持可直观地访问XML数据、名为SimpleXML的XML处理用界面。另外,PHP5.0上还捆绑有小容量RDBMS--SQLit

  10. Vue-cli3中如何引入ECharts并实现自适应

    这篇文章主要介绍了Vue-cli3中如何引入ECharts并实现自适应,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部