html的vue项目怎么兼容ie,vue 项目在ie浏览器的兼容问题

注意:html

vue 只兼容ie8以上版本;

IE 不兼容 axios的promiss对象;

IE 不兼容es6语法;

ES6转ES5

1、关于babel-polyfillvue

一、说明:This will emulate a full ES2015+ environment and is intended to be used in an application rather than a library/tool. This polyfill is automatically loaded when using babel-node.(模拟ES2015以上的环境,主要用于对ES6新语法不支持的浏览器);node

二、安装:npm install --save babel-polyfill;ios

三、配置:module.exports = { entry: ["babel-polyfill", "./src/main.js"] };es6

四、main.js中配置:import 'babel-polyfill' //放在最顶部,确保全面加载。web

2、关于es6-promisenpm

一、说明:若在项目中使用了ES6 promise对象,它在Chrome、Safari浏览器下能够正常运行,但在360兼容模式、IE内核中不支持;json

二、安装:npm install es6-promise;axios

三、配置:在main.js中加入require('es6-promise').polyfill(),用于在node或浏览器中支持ES6 与CommonJS。promise

3、步骤详细图

一、index引入这句话或者这三句话

89911f43f0fb485860dde9db4432b0ce.png

二、执行npm install --save babel-polyfill;

执行完上面语句package.json里面就有了这个依赖(检查2部是否执行完成的一个结果)

de3d9f01472531688f4c40a024200c8a.png

三、最上面引入,确保加载进去。

04af2c915a5c250ea28e9de3993c5fc2.png

四、修改entery里面的内容改为下图那样

d3c7fd2f530611497fd9d6ad7f47e169.png

4、问题如图:

当把这些攻略都作了一遍后,发现打包完的360的急速模式能够了(本地运行仍是不能够),可是!!!ie浏览器,360兼容模式,无论打包仍是没打包,都不能显示,彻底没有加载进去数据,以下图

1a98d93c78569c4001aa6be9d16ac156.png

而且还报错如下未定的错

a505336bc1a607f49b540fc00a329899.png

ef99802aa4340ba711c7dc71b49ca08a.png

(1)、

查询后发现,是由于IE没有这个方法,不支持sessionStorage,解决的方法是:IE本地调试用cookie,或者用webstrom打开项目,但我确实用的webstorm打开的项目,仍是不能够,后来找到解决方法,要把es6转es5!

转换语句:npm i babel-preset-es2015

而且在项目的根目录下,修改.babelrc的内容,添加'es2015'

7646db743702fe1cc1206d5da122211c.png

发现不报未定义的错了,开始报下图的错

aff630042b81b051889a7edb4055a443.png

安装 npm i classlist-polyfill,而且在base.config.js中,添加'classlist-polyfill'

16fd5288f8b604b7e777ebbee8e9d82e.png

而后,npm run dev,竟然能够了适配了。

注意: 若是引用了swiper的宝宝,记得要单独安装插件适配IE浏览器哦

由于你们的环境,装的依赖,用的组件等等都不相同,致使遇到的状况可能不一致,若是有其余要注意兼容的地方出现了,欢迎你们指出,多多题意见